現在日本語環境(日本語版WINDOWS2000+VB6.0 SP6)であるソフトを
中国語OSで使用したいのですが、日本語環境では中国語になって
いますが、中国語OS上(WINDOWS2000)では、
文字化けしていまいます。理由がまったくわかりません。
またコマンドボタンのキャプションのみ文字化けしてしまします。
尚、リストリビューションを使ってのIPDKを使って中国語OSにインストール
しています。後、VB標準のリソースエディタを使って読み中国語変換
しています。
どなたかくわしく詳細にご教授願いませんでしょうか?
よろしくお願いします。
>なぜかわからん。
って。
いや、気持ちは分かりますけど・・・。
タイトルは、分かりやすくお願いします m(_ _)m
コマンドボタンだけですか(全て文字化けしていませんか)?
中国語OSには、日本語のフォントが入っていますか?
僕は、そのせいだと思いますが・・・。
いかがでしょう?
コマンドボタンのFontには、何を指定してありますか?
Fontが一度も指定されていなかった場合は、各プロットフォームごとの
規定のフォントが使用されますので、文字列によっては化ける事があります。
コマンドボタンのフォントはShimHeiを指定しています。
他のコントロールは同じフォントで中国語を表示しています。
尚、文字化けするのは、日本語OSではコマンドボタンのみです。
中国語OSではすべてが化けます。日本語フォントは入っているみたいです。
メモ帳で日本語入力できましたので、そう重いましたが、違いますか?
> 日本語環境(日本語版WINDOWS2000+VB6.0 SP6)であるソフトを
> 中国語OSで使用したいのですが、
日本語OSで使いたいのか、中国語OSで使いたいのか、微妙な表現……。
> コマンドボタンのフォントはShimHeiを指定しています。
コンテナ側(フォーム等)のフォントも直してますか?
あと、フォントのCharsetプロパティについても、
開発時と実行環境のそれぞれにて確認してみては。
> 尚、文字化けするのは、日本語OSではコマンドボタンのみです。
中国語の話なので、日本語OS上での見え方はとりあえず無視するとして。
コマンドボタンには、なんという文字を書いているのですか?
中国語版のVB6を手に入れるのが理想でしょうね。
正規のVB6を今購入する方法(過去ログ参照して下さい)を中国語版で出来ないか調べてみては?
すみません。テストできてないので、机上の空論しか答えてません……。
というか、中国語環境のセットアップなんてやった事ないのに答えてます。
> コマンドボタンには、なんという文字を書いているのですか?
とりあえずコレだけでも回答してもらえると、こっちの環境で
中文版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種類もあるんだろ?
コマンドボタンのFontNameがセットできないとしか
考えられないかな。
Form_Loadの中で明示的にコマンドボタンのFontNameを
セットしてみて、確認の為にどこかに書き出して見るとか。
>コマンドボタンには、なんという文字を書いているのですか?
ト羲テと言う文字が書かれています。これは、リソースエディタに書いた
文字です。
> ト羲テと言う文字が書かれています。
それは、AscW関数/ChrW関数で変換できるコード値でいうと、
なんという値になるのでしょうか?
>それは、AscW関数/ChrW関数で変換できるコード値でいうと、
なんという値になるのでしょうか?
こんにちわです。
> こんにちわです。
「こんにちは」でしたか。って意味はともかくとして。
確認したかった事を、もう一度別の言い方で書きます。
『それらの文字を「AscW関数」にかけると、なんと言う値になるのですか?』
こちらとしては、そのデータの「具体的なバイナリ」を知りたいのです。
たとえば、{イ尓}{好}{口馬}の3文字だと、Unicode的には 4F60 597D 55CE。
VBでは「ChrW(&H4F60) & ChrW(&H597D) & ChrW(&H55CE)」になりますよね。
> どなたかくわしく詳細にご教授願いませんでしょうか?
こちらでも実験してみたいので、状況をくわしく詳細に説明してください。
そちらで使っている中国語OSは何ですか?
Windows 2000なのか、XPなのか、それ以外なのか。
繁体字版なのか、簡体字版なのか、マルチランゲージ版なのか。
> コマンドボタンのフォントはShimHeiを指定しています。
簡体字フォントの SimHei (simhei.ttc)かと思いましたが、
よくみたら「ShimHei」なんですね。これは、繁体字フォントですか?
すみません、2日間見てませんでした。
・・・すごい事なってますね。
え、と。
ボタンの文字化けは、指定したShimHeiのせいだと思います。
日本語VBでSimSunを指定しても、文字化けしました。
「書体の種類」に「CHINESE_GB2312」って表示されます。
フォントダイアログの下に、「書体の種類」ってのがありますから、お使いのでご確認を(因みに、現環境VB6SP5で確認しました)。
他のコントロールで文字化けしてないのは、その書式が反映されていないのではないかと。
・・・で、どうでしょう? だめですか?
> 日本語VBでSimSunを指定しても、文字化けしました。
> 「書体の種類」に「CHINESE_GB2312」って表示されます。
> フォントダイアログの下に、「書体の種類」ってのがありますから、
最近のOSだと、『書体の種類』ではなく『文字セット』という
名前になっていますね。
ただ、書体の種類/文字セット の件については、
先の「Dental 2005/02/18(金) 18:51:48」にて、
> あと、フォントのCharsetプロパティについても、
> 開発時と実行環境のそれぞれにて確認してみては。
と明示してありますから、すでに確認済みじゃないかな……。
>最近のOSだと、『書体の種類』ではなく『文字セット』という
>名前になっていますね。
そうだったんですね。いやはや、僕の環境は古いですから・・・。
>すでに確認済みじゃないかな……。
失礼致しました。かなり前のと被りましたね・・・。
皆様からの情報を元に色々ためした結果解決できました。
ありがとうございました。
ちなみに、コンポネートでform2.0を入れ、フォントをShimHeiに
しています。ただ、文化オリエント(グレープシティー)のINPUTMANの
テキスト及びVSDRAWのコントロールが他のコントロールと同じ設定に
しても日本語OS上では文字化けするが、中国語OS上では文字化けせずに、
出力されます。
それでは、またよろしくお願いします。
> 皆様からの情報を元に色々ためした結果解決できました。
解決した、の一言だけで終わらせず、
どのような手順をとったら解決したのかを、
掲示板にフィードバックしてください。
このままでは、何が原因だったのかが不明なので、
あとから、同様の問題を抱えた人が検索して、ここに
たどり着いてきた時に、解決策を見つける事ができません。
> フォントを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
ツイート | ![]() |