0

情况如下:

我有 string1 使用 charset 186 (BALTIC_CHARSET)。我有使用 charset 204 (RUSSIAN_CHARSET) 的 string2。我可以将这些字符串保存到 oracle 数据库中。只有当我更改为特定的字符集时,我才能看到这些字符串。那没问题。问题是如何将 string2 保存到 .text 文件并按原样查看。现在,当我保存它时,我会胡说八道。

我是所有 unicode 或 ansi 或其他的新手。我可以使用 vb.net 得到我想要的吗?那我该怎么做呢?谢谢。

4

1 回答 1

1

文本文件本身没有代码页,因此在您查看它时它将显示为选定的代码页(与数据库中的值相同)。

处理此问题的正确方法是使用 VB 内部使用的 unicode,但(默认情况下)在显示或保存到文件时将与当前本地代码页相互转换。

您可以将此文件保存为 UTF-8或 UCS-2,方法是在开头附加 BOM 字符,然后使用以下内容从内存中写出字符串数据:

Dim Content() As Byte
Content = ChrW(&HFEFF) & StringVariable
FileNum = FreeFile()
Open FileName For Binary As #FileNum
Put #filenum, Content
Close #FileNum

(未经测试的空气代码)

于 2012-07-26T11:32:05.623 回答