如何检测错误的编码声明?

时间:2013-05-19 01:42:17

标签: asp.net character-encoding

我正在构建一个加载其他网页的ASP.NET Web服务,然后将其交给客户端。 我一直在使用字符代码处理,从HTML读取元标记然后使用该代码集来读取文件。 但是,一些受教育程度较低的用户只是不理解代码集。他们声明一种特定的编码方法,例如“gb2312”,但事实上,他只是使用普通的UTF8。当我使用gb2312解码文本时,一切都变得神圣混乱。 如何检测文本是否正确解码?我将该页面加载到我的IE中,它正确地使用UTF-8来解码页面。它是如何实现的?

1 个答案:

答案 0 :(得分:0)

根据BOM,您可以判断使用了哪种编码。

BOM and encoding

BOM and encoding

如果要检测字符集,可以使用mozilla字符集检测器的C#端口。

CharDetSharp

如果你想更加确定你使用的是正确的,你可能会寻找不应该在那里的特殊字符。它不太可能包括“óké”。所以你可能正在寻找这样的字符并尝试使用不同的编码/字符集来处理你的文件。

实际上很难让你的应用程序完全“万无一失”。