【发布时间】:2015-07-20 08:42:32
【问题描述】:
我有一个带有 URL 的文件,其中一个是 http://en.wikipedia.org/wiki/São_Paulo。注意'ã'。当我阅读 URL(在 C# 中)并尝试打印它时,它显示为 http://en.wikipedia.org/wiki/S?o_Paulo。
我尝试阅读以下网址:
List<string> urls = System.IO.File.ReadAllLines(wikiURL_FilePath, Encoding.UTF8).ToList();
请注意,我已通过第二个参数以 UTF8 格式读取它,但问题仍未得到纠正。如何以正确的形式读取和存储字符串?
【问题讨论】:
-
您是否尝试过以 unicode 格式读取文件?
-
您在哪里以及如何打印它?问题完全有可能(并且很可能)出在显示端,而不是读取端。文件的字节数是多少?你能显示文件的十六进制转储吗?
-
@afsharm 记事本也许不是回答这个问题的最佳工具;p
-
@afsharm 直到最近,记事本 unicode 支持糟糕;现在好多了,但是如果编码不明显,没有BOM,还是会糊涂。但是,我怀疑这里的根本问题与文件读取有关......
-
检查文件编码,可能是 ANSI。使用 Notepad++ 之类的工具将其转换为 UTF-8 或 Unicode,您的代码就可以工作了。