asp.net读取ANSI非英文文本文件给出乱码(如何转换为Unicode / UTF-8)

时间:2016-01-03 11:09:53

标签: asp.net encoding utf-8 ansi hebrew

我有一个带标签和按钮的简单webform应用程序。单击该按钮使后面的C#代码读取文本文件并将其显示在标签中 当文本文件中的所有文本都是英文时,可以正常工作,但所有希伯来字符都显示为问号。

C#代码背后:

string inputString;
lbl_Message_1.Text = "";
using (StreamReader streamReader = File.OpenText(@"E:\gadi_1.txt"))
{
    inputString = streamReader.ReadLine();
    while (inputString != null)
    {
        lbl_Message_1.Text += inputString + "<br />";
        inputString = streamReader.ReadLine();
    }
}

文字文件:

line1
שורה2
line3

在我的Site.Master中:

<meta charset="utf-8" />

结果:
enter image description here

我在这里和其他地方阅读了很多文章,并尝试了所有但没有帮助的文章 尝试在我的web.config中添加:

<globalization requestEncoding="utf-8" responseEncoding="utf-8" />

另外:

<globalization requestEncoding="windows-1255" responseEncoding="windows-1255" />

第二个(windows-1255)刚改变了问号的形状:
enter image description here

请看看你是否可以在这里提供帮助。

修改
我在记事本中打开文本文件,执行“另存为...”并在底部看到4个编码选项:
enter image description here
默认值是ANSI,这就是问题所在。如果我选择任何其他3并保存 - IT WORKS FINE!

所以现在我的问题是:因为在现实生活中我无法更改文本文件的编码,如何确定文本文件使用的编码,以及如何处理它我的Webform应用程序中的C#级别?

0 个答案:

没有答案