网页上的unicode字符显示不一致

时间:2013-12-05 08:59:19

标签: asp.net c unicode

我有一个C程序输出一些数据,包括unicode非英文字符。它在Windows 7命令窗口,Linux telnet会话中工作正常但用于填充ASP / html页面上的Label字段,它在所有情况下都不起作用 - 运行Web服务器的平台似乎会影响输出

如果我有一台运行Windows XP SP3的计算机,程序在命令窗口中工作正常,但在网页中字符错误。例如Ø显示为Ï。

网页服务器在Windows 7和Server 2003 SP2上的网页很好用。 Web浏览器的选择没有区别。

2 个答案:

答案 0 :(得分:1)

问题可能是character encoding之一。

可以在每个页面中指定字符编码,也可以在Web服务器中设置默认值。

Windows XP IIS可能将ISO-8859-1作为默认字符集。 您可以通过配置IIS或在每个HTML页面中指定字符集来更改它。

答案 1 :(得分:1)

当Ø(U + 00D8)显示为Ï(U + 00CF)时,可能的解释是HTML页面是ISO-8859-1或Windows-1252编码,但浏览器将其解释为CP 850编码。在浏览器中使用视图→编码进行检查(它将显示当前用于解释页面的编码,您可以将其更改为Windows-1252,其中存在某些名称(如“西欧(Windows)”) - 还有一些其他encodings,其中字节0xD8被解释为Ï。

如果这是正确的解释,即使没有,请检查页面的实际声明的字符编码,并确保它们匹配。请参阅W3C页面 Character encodings