尝试从.CSV文件读取字符串时出现问题。当我执行该应用程序并将文本显示在文本框中时,某些字符(例如“é”或“ó”)将显示为问号符号。想法是该代码读取整个CSV文件,然后根据该行的第一个单词将每一行拆分为多个变量。
我正在阅读的代码是:
Dim test() As String
test = IO.File.ReadAllLines("Libro1.csv")
Dim test_chart As String = Array.Find(vls1load, Function(x) (x.StartsWith("sample")))
Dim test_chart_div() As String = test_chart.Split(";")
variable1 = test_chart_div(1)
variable2 = test_chart_div(2)
...etc
我也尝试过:
Dim test() As String
test = IO.File.ReadAllLines("Libro1.csv", System.Text.Encoding.UTF8)
但是它们都不起作用。.csv文件应为UTF8。将文件保存在excel中时可以看到的“ web选项”显示编码为UTF8。我还尝试了将文件扩展名更改为HTML并用浏览器打开它的技巧,以查看编码也是正确的。
有人可以建议我尝试的其他事项吗?提前致谢。
使用CSV Comma Separated
输出格式导出Excel文件时,在“工具”->“ Web选项”-> “ ExcelSave As...
对话框的编码”中选择的“编码”实际上不会产生预期的结果:
文本文件是使用“编码”相对于在“语言”中选择的当前语言保存的。 Excel应用程序,而不是选择的Unicode(UTF16-LE)或UTF-8编码(将被忽略),也不是当前系统语言确定的默认编码。
要导入CSV
文件,可以使用Encoding.GetEncoding()方法来指定名称或CodePage
在生成文件的计算机中使用的Encoding:同样,不是与系统语言相关的Encoding,而是与系统语言有关的Encoding。 Excel应用程序当前正在使用。
CodePage 1252(Windows-1252
)和ISO-8859-1通常在Latin1区域中使用。
根据您所指的符号,这很可能是所使用的原始编码。
在Windows中,使用前者。ISO-8859-1
仍然使用,主要用于旧网页(或在不关心所使用编码的情况下创建的网页)中。
作为一个说明,CodePage 1252
而ISO-8859-1
不是完全一样的编码,也有细微的差别。如果找到相反的说明,则说明说明是错误的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句