在我的 Silverlight 应用程序中,我得到了一个用 windows-1252 编码的 XML 文件。现在我的问题是,在将 windows-1252 字符串转换为 UTF8 字符串之前,它无法正确显示。在正常的 C# 环境中,这不是什么大问题:我可以做这样的事情:
Encoding wind1252 = Encoding.GetEncoding(1252);
Encoding utf8 = Encoding.UTF8;
byte[] wind1252Bytes = ReadFile(Server.MapPath(HtmlFile));
byte[] utf8Bytes = Encoding.Convert(wind1252, utf8, wind1252Bytes);
string utf8String = Encoding.UTF8.GetString(utf8Bytes);
(将字符串的字符编码从 windows-1252 转换为 utf-8)
但是silverlight 不支持windows-1252——它只是unicode。
PS 我偶然发现了“Silverlight 编码” http://encoding4silverlight.codeplex.com/ - 但那里似乎也不支持 windows-1252?
编辑: 我在“服务器端”解决了我的问题 - 实际问题仍然存在。