我有一個問題,試圖將vb6中的某些變量的內容輸出到文本文件中。問題是,當擴展ASCII中的特殊字符顯示爲ä,ü時,它會在輸出中轉換爲匹配的基本ASCII字符,如a,u,a。爲什麼將ADODB.Stream與ASCII字符集特殊字符作爲ä轉換爲?
我試圖導出它像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),但是這個代碼頁是在區域設置中選擇的。也許我必須在代碼中強制它? – dajoropo