私は、フォルダのディレクトリ一覧を作成し、ファイル名を取得するVB6アプリケーションを持っています。これらの中にはアクセント記号が付いているものもあります(例: "Guimarães.txt"(小文字のA、チルダ)。 VB Dir関数とFileSystemObject関数の両方でアクセント付き文字を認識できず、その代わりにファイル名を "Guimar?es.pdf"として返すので、その後ファイルを開くことができません。 Windowsエクスプローラでファイルを正しく見ることができますVB6でアクセント付きのファイル名を読む
これは、Windows Server 2003 R2を実行している1つのライブ環境でのみ発生します。私たちのテストシステムでは、Windows 2008とWindows 7が主なものですが、ファイルを正しく読み取ることができます。私は当初はFSOのバージョンになっていると思っていましたが、 "Dir"は同じ結果を示しています。また、ファイルの名前をログファイルに書き込むときにも間違っています。だから私は非常に早い段階でキャラクターを扱うことができず、それを疑問符で置き換えると思います。
私が設定する必要があるのは問題の原因です:Windows版、地域設定(私のアカウントがロックされているため表示できません)、そして私ができること問題を解決する。今のところ、これらの文字を使用しないようにユーザーに依頼しましたが、これは長期的な解決策ではありません。
ありがとうございました。
私は問題がVB6とそのUnicodeのサポートの欠如に関係していると思われます。 –
地域設定で「Unicode以外のプログラムの言語」をポルトガル語に設定し、問題が解決するかどうか確認してください。私はそれがすべきだと思う。残念ながら、私は古いMS VBランタイムがUnicodeをサポートしているのか疑問に思っています。 –
基本的な原因は、実際にはVB6が10000の異なる文字をエンコードするために1バイトのみを使用しようとしていることです。一部の文字は失われます。言語を変更するだけで、どの文字が失われるかが変わります。しかし、?これはU + 00E3です(ISO-8859-1/CP1252)。これははるかに一般的です。 – MSalters