なぜかわからん。

解決


としぞう  2005-02-19 01:55:48  No: 119772

現在日本語環境(日本語版WINDOWS2000+VB6.0 SP6)であるソフトを
中国語OSで使用したいのですが、日本語環境では中国語になって
いますが、中国語OS上(WINDOWS2000)では、
文字化けしていまいます。理由がまったくわかりません。
またコマンドボタンのキャプションのみ文字化けしてしまします。

尚、リストリビューションを使ってのIPDKを使って中国語OSにインストール
しています。後、VB標準のリソースエディタを使って読み中国語変換
しています。

どなたかくわしく詳細にご教授願いませんでしょうか?
よろしくお願いします。


  2005-02-19 02:08:42  No: 119773

>なぜかわからん。
って。
いや、気持ちは分かりますけど・・・。
タイトルは、分かりやすくお願いします m(_ _)m

コマンドボタンだけですか(全て文字化けしていませんか)?
中国語OSには、日本語のフォントが入っていますか?
僕は、そのせいだと思いますが・・・。
いかがでしょう?


魔界の仮面弁士  2005-02-19 02:40:06  No: 119774

コマンドボタンのFontには、何を指定してありますか?

Fontが一度も指定されていなかった場合は、各プロットフォームごとの
規定のフォントが使用されますので、文字列によっては化ける事があります。


としぞう  2005-02-19 03:16:35  No: 119775

コマンドボタンのフォントはShimHeiを指定しています。
他のコントロールは同じフォントで中国語を表示しています。
尚、文字化けするのは、日本語OSではコマンドボタンのみです。

中国語OSではすべてが化けます。日本語フォントは入っているみたいです。
メモ帳で日本語入力できましたので、そう重いましたが、違いますか?


Dental  2005-02-19 03:51:48  No: 119776

> 日本語環境(日本語版WINDOWS2000+VB6.0 SP6)であるソフトを
> 中国語OSで使用したいのですが、
日本語OSで使いたいのか、中国語OSで使いたいのか、微妙な表現……。

> コマンドボタンのフォントはShimHeiを指定しています。
コンテナ側(フォーム等)のフォントも直してますか?

あと、フォントのCharsetプロパティについても、
開発時と実行環境のそれぞれにて確認してみては。

> 尚、文字化けするのは、日本語OSではコマンドボタンのみです。
中国語の話なので、日本語OS上での見え方はとりあえず無視するとして。

コマンドボタンには、なんという文字を書いているのですか?


ひろ  2005-02-19 04:30:46  No: 119777

中国語版のVB6を手に入れるのが理想でしょうね。
正規のVB6を今購入する方法(過去ログ参照して下さい)を中国語版で出来ないか調べてみては?


Dental  2005-02-19 05:15:45  No: 119778

すみません。テストできてないので、机上の空論しか答えてません……。
というか、中国語環境のセットアップなんてやった事ないのに答えてます。

> コマンドボタンには、なんという文字を書いているのですか?
とりあえずコレだけでも回答してもらえると、こっちの環境で
中文版Windowsを構築して、テストできるかもしれない。

個人的には、日本語版のままどこまで対応できるのか、非常に興味が……。
元質問者の人には、ぜひ解決してもらって、解決方法を
フィードバックしてもらいたいものです。

> 中国語版のVB6を手に入れるのが理想でしょうね。
Subscriber Download を見た限りでは、現在でも
繁体字版・簡体字版の両方がダウンロード可能です。

http://www.microsoft.com/japan/msdn/subscriptions/resources/subdwnld.aspx
[Developer Tools]
+[Visual Basic]
 +[Visual Basic 6.0]
  +[Visual Basic 6.0, Enterprise Edition (Simplified Chinese), Disc 1] 
  +[Visual Basic 6.0, Enterprise Edition (Simplified Chinese), Disc 2 (Part 1)] 
  +[Visual Basic 6.0, Enterprise Edition (Simplified Chinese), Disc 2 (Part 2)]
  +[Visual Basic 6.0, Enterprise Edition (Traditional Chinese), Disc 1]
  +[Visual Basic 6.0, Enterprise Edition (Traditional Chinese), Disc 2]

なんで簡体字版の Disc 2 が 2種類もあるんだろ?


ねろ  2005-02-19 06:45:16  No: 119779

コマンドボタンのFontNameがセットできないとしか
考えられないかな。
Form_Loadの中で明示的にコマンドボタンのFontNameを
セットしてみて、確認の為にどこかに書き出して見るとか。


としぞう  2005-02-21 20:46:36  No: 119780

>コマンドボタンには、なんという文字を書いているのですか?

ト羲テと言う文字が書かれています。これは、リソースエディタに書いた
文字です。


Dental  2005-02-21 22:00:50  No: 119781

> ト羲テと言う文字が書かれています。
それは、AscW関数/ChrW関数で変換できるコード値でいうと、
なんという値になるのでしょうか?


としぞう  2005-02-21 23:21:03  No: 119782

>それは、AscW関数/ChrW関数で変換できるコード値でいうと、
なんという値になるのでしょうか?

こんにちわです。


Dental  2005-02-22 00:37:37  No: 119783

> こんにちわです。
「こんにちは」でしたか。って意味はともかくとして。

確認したかった事を、もう一度別の言い方で書きます。
『それらの文字を「AscW関数」にかけると、なんと言う値になるのですか?』

こちらとしては、そのデータの「具体的なバイナリ」を知りたいのです。
たとえば、{イ尓}{好}{口馬}の3文字だと、Unicode的には 4F60 597D 55CE。
VBでは「ChrW(&H4F60) & ChrW(&H597D) & ChrW(&H55CE)」になりますよね。

> どなたかくわしく詳細にご教授願いませんでしょうか?
こちらでも実験してみたいので、状況をくわしく詳細に説明してください。

そちらで使っている中国語OSは何ですか?
Windows 2000なのか、XPなのか、それ以外なのか。
繁体字版なのか、簡体字版なのか、マルチランゲージ版なのか。

> コマンドボタンのフォントはShimHeiを指定しています。
簡体字フォントの SimHei (simhei.ttc)かと思いましたが、
よくみたら「ShimHei」なんですね。これは、繁体字フォントですか?


  2005-02-22 00:41:11  No: 119784

すみません、2日間見てませんでした。
・・・すごい事なってますね。

え、と。
ボタンの文字化けは、指定したShimHeiのせいだと思います。
日本語VBでSimSunを指定しても、文字化けしました。
「書体の種類」に「CHINESE_GB2312」って表示されます。
フォントダイアログの下に、「書体の種類」ってのがありますから、お使いのでご確認を(因みに、現環境VB6SP5で確認しました)。

他のコントロールで文字化けしてないのは、その書式が反映されていないのではないかと。

・・・で、どうでしょう?  だめですか?


Dental  2005-02-22 01:35:16  No: 119785

> 日本語VBでSimSunを指定しても、文字化けしました。
> 「書体の種類」に「CHINESE_GB2312」って表示されます。
> フォントダイアログの下に、「書体の種類」ってのがありますから、
最近のOSだと、『書体の種類』ではなく『文字セット』という
名前になっていますね。

ただ、書体の種類/文字セット の件については、
先の「Dental 2005/02/18(金) 18:51:48」にて、
> あと、フォントのCharsetプロパティについても、
> 開発時と実行環境のそれぞれにて確認してみては。
と明示してありますから、すでに確認済みじゃないかな……。


  2005-02-22 18:34:00  No: 119786

>最近のOSだと、『書体の種類』ではなく『文字セット』という
>名前になっていますね。
そうだったんですね。いやはや、僕の環境は古いですから・・・。

>すでに確認済みじゃないかな……。
失礼致しました。かなり前のと被りましたね・・・。


としぞう  2005-02-22 19:12:59  No: 119787

皆様からの情報を元に色々ためした結果解決できました。

ありがとうございました。

ちなみに、コンポネートでform2.0を入れ、フォントをShimHeiに
しています。ただ、文化オリエント(グレープシティー)のINPUTMANの
テキスト及びVSDRAWのコントロールが他のコントロールと同じ設定に
しても日本語OS上では文字化けするが、中国語OS上では文字化けせずに、
出力されます。

それでは、またよろしくお願いします。


Dental  2005-02-22 19:32:21  No: 119788

> 皆様からの情報を元に色々ためした結果解決できました。
解決した、の一言だけで終わらせず、
どのような手順をとったら解決したのかを、
掲示板にフィードバックしてください。

このままでは、何が原因だったのかが不明なので、
あとから、同様の問題を抱えた人が検索して、ここに
たどり着いてきた時に、解決策を見つける事ができません。

> フォントをShimHeiにしています。
先の「Dental 2005/02/21(月) 15:37:37」の件は教えてもらえないのでしょうか?

>> 簡体字フォントの SimHei (simhei.ttc)かと思いましたが、
>> よくみたら「ShimHei」なんですね。これは、繁体字フォントですか?

> 日本語OS上では文字化けするが
日本語環境のコードページは CP932(Shift_JIS)ですから、
中国語のコードページ CP936 (GB2312)、CP950 (Big5)の
文字範囲にあるデータが化けるのは、当然、というか仕方ない事かと。

> コンポネートでform2.0を入れ
それはVB6用Unicode対応コントロールではなく、
Office用コンポーネントなので、できれば避けた方が良いかと。
http://www.gj.il24.net/~nakasima/vb/trap/index.htm#VBTRAP12

VB.NETであれば、日本語OSでも中国語を利用できます。(Win98/Meは不可)
VB6がよければ、VB6用のUnicode対応コントロールが存在します。
http://www.cyberactivex.com/product008.htm


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加