掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
英語環境VBでユニコードファイルを読み込むには (ID:114281)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
遅くなってすみません。 もう少し、詳しく書きます。 APIのGetSystemDefaultLangIDで現在の言語環境を判断しています。 ファイルには英語と日本語の両方の文字列を用意していて、APIの判断によって、 英語の方とか日本語の方とかを選んで文字列を取得しています。 そして、この取得した文字列をexeに使用される全ての文字列に使用し、NLS化を行 おうとしています。 もう一度まとめますと、 英語環境 strConv使用 文字化け 英語環境 strConv不使用 正しく表示 日本語環境 strConv使用 特定文字が文字化け 日本語環境 strConv不使用 文字化け といった感じです。 Lenで文字数を見てみると、例えば(英語)Close、(日本語)閉じる、を調べた時 英語環境 strConv使用 2文字(Closeeとした場合は3文字でした) 英語環境 strConv不使用 5文字 日本語環境 strConv使用 3文字 日本語環境 strConv不使用 6文字 といった感じです。 >VB5では、文字列は内部的にUnicodeで保持されていますが、だからといって、 >VB自体がUnicodeに完全対応しているというわけではありません。たとえば、 >元のソースコード自体はANSIベースですし、LabelやTextBox等にしても、 >Unicodeには対応していません。 >それゆえ、システム規定のコードページに変換できない文字を渡した場合は、 >コントロールとのやり取りを行う際に、データが化けてしまう事になります。 このあたりが、原因ではないかと思います。 それで、 「変換できない文字は諦める」 「Unicodeのまま表示させる事を考える」 のどちらかになるということですね。 ユニコードの種類に関しては知らなかったので、これから調べます。 御教授、大変ありがとうございます。 とても、勉強になりました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.