我在服务器上有一个编码为ANSI的csv文件,想要打开它,处理并保存数据库中的内容。 我对重音字符有无限的问题,如“àèìò”,改为“?”。
html标头中的内容设置为utf-8。 这是我的代码
Response.CharSet = "UTF-8"
...
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = 2
objStream.CharSet = "utf-8"
objStream.Open
objStream.Position = 0
objStream.LoadFromFile( path )
strData = objStream.ReadText()
Response.write(strData) '<== just to see
objStream.Close
Set objStream = Nothing
起初我使用的是单个FileSystem对象,但是读到它在处理编码时遇到了更多问题
答案 0 :(得分:1)
在内部,VBScript字符串是UTF-16编码的。读取的IO函数必须被告知/假设默认使用正确的源编码将源转换为UTF-16。写入的IO函数必须被告知/假定为默认的所需输出编码,以将UTF-16转换为所需的编码。
如果你的文件真的(某种)ANSI那么你的
objStream.CharSet = "utf-8"
错了。它应该是您的文件真正使用的编码名称(cpXXX,ISO_YYY,ZZZ)。
您是否使用FileSystemObject进行测试?也许它会猜对了,没有额外的努力你的问题就解决了。