vb6の一部の変数の内容をテキストファイルに出力しようとすると、問題が発生します。これは、拡張ASCIIの特殊文字がä、ü、と表示されたときに、a、u、aのような一致する基本ASCII文字に変換されます。なぜASCII文字セットの特殊文字を使用するADODB.Streamをäのように変換するのですか?
私はUTF-8のようにエクスポートしようとしましたが、文字が正しく表示されましたが、出力がASCIIである必要があります。また、ファイル名には通常、この文字(ä、ü、á...)が含まれていても構わないと思います。
「ASCII」の文字セットは基本的なもので拡張されたものではない可能性がありますか?おそらく、Windowsで設定されたCodePagesのためですか?私はそれらのカップル(ドイツ語、英語)と同じ結果を試してみました。
これは私が使用しているコードは次のとおりです。事前に
Set fileStream = New ADODB.Stream
If Not fileStream Is Nothing Then
inputString = textPreAppend + inputString
fileStream.charSet = "ASCII"
fileStream.Open
fileStream.WriteText inputString
fileStream.Flush
fileStream.SaveToFile fileName, adSaveCreateOverWrite
fileStream.Flush
fileStream.Close
End If
Set fileStream = Nothing
ありがとう!
この場合、「ascii」はiso8859-1/codepage 1252を指します。 – Deanna
ディアナを知っておきたいと思いますが、私は文字セットを混乱させるかもしれません。私はちょうどテストをしました。私は基本的なASCIIだと思うcharset 20127(US-ASCII)の選択を解除してから、出力ファイルは完全に空です。これは私が拡張ASCII(1252)の代わりに基本ASCIIを使用していることを証明していると思いますが、このコードページは地域設定で選択されています。たぶん私はそれをコードの中に強制しなければならないでしょうか? – dajoropo