gpt4 book ai didi

vb.net - 读取 CSV 文件时字符显示不正确

转载 作者:行者123 更新时间:2023-12-05 06:18:23 25 4
gpt4 key购买 nike

我在尝试从 .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 中保存文件时可以看到的“网络选项”显示编码为 UTF8。我还尝试了将文件扩展名更改为 HTML 并用浏览器打开它以查看编码是否正确的技巧。

有人可以建议我可以尝试的其他方法吗?提前致谢。

最佳答案

当使用 CSV 逗号分隔 输出格式导出 Excel 文件时,在工具 -> Web 选项 -> 编码 中选择的编码Excel 的 Save As... 对话框实际上并没有生成预期的结果:
文本文件使用相对于在 Excel 应用程序中选择的当前语言的编码保存,而不是选择的 Unicode (UTF16-LE) 或 UTF-8 编码(被忽略)或由当前系统语言确定的默认编码。

要导入CSV 文件,您可以使用Encoding.GetEncoding()指定生成文件的机器中使用的编码的名称或 代码页 的方法:同样,不是与系统语言相关的编码,而是 Excel 应用程序当前使用的语言的编码。

CodePage 1252 (Windows-1252) 和 ISO-8859-1常用于Latin1区。
根据您所指的符号,这很可能是使用的原始编码。
在 Windows 中,使用前者。 ISO-8859-1 仍在使用,主要用于 网页(或创建时未注意所用编码的网页)。

请注意,CodePage 1252ISO-8859-1 不是完全相同的编码,存在细微 差异。如果您发现说明相反的文档,则该文档是错误的。

关于vb.net - 读取 CSV 文件时字符显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61291361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com