Pol*_*ing 11 c# unicode streamreader
我有一个问题,我无法读取包含外来字符的文件.据我所知,该文件采用UTF-8格式编码.
这是我的代码的核心:
using (FileStream fileStream = fileInfo.OpenRead())
{
using (StreamReader reader = new StreamReader(fileStream, System.Text.Encoding.UTF8))
{
string line;
while (!string.IsNullOrEmpty(line = reader.ReadLine()))
{
hashSet.Add(line);
}
}
}
Run Code Online (Sandbox Code Playgroud)
该文件包含单词"achôcre",但在调试期间检查时,它将其添加为"ach cre".
(这是一个亵渎文件,所以如果你说法语我会道歉.我一个人,不知道这意味着什么)
Tim*_*mwi 16
证据清楚地表明该文件不是 UTF-8格式.尝试System.Text.Encoding.Default看看你是否得到了正确的文本 - 如果你这样做,你知道该文件在Windows-1252中(假设这是你的系统默认代码页).在这种情况下,我建议您在记事本中打开文件,然后将其另存为"另存为"UTF-8,然后您可以正常使用Encoding.UTF8.
检查文件实际编码方式的另一种方法是在浏览器中打开它.如果重音显示正确,则浏览器检测到正确的字符集 - 因此请查看"视图/字符集"菜单以找出选择的字符集.如果重音没有正确显示,则通过该菜单更改字符集,直到它们为止.
| 归档时间: |
|
| 查看次数: |
7207 次 |
| 最近记录: |