我能想到几个可能会出现的问题: 你必须在HTTP头中指定它是UTF-16。与UTF-8不同,UTF-16不兼容ASCII,这意味着从一开始所有内容都需要使用UTF-16。 旧版客户端不支持UTF-16。例如,任何运行Windows 9x的设备。可能Mac OS9也是如此。 哦,等等,我差点忘了:北美和欧洲的Windows XP副本不默认安装亚洲字体。
非常好的文章!基本原则规定:“如果需要使用唯一字符编码,则必须使用UTF-8、UTF-16或UTF-32字符编码。US-ASCII与UTF-8向上兼容(US-ASCII字符串也是UTF-8字符串,请参见[RFC 3629]),因此如果需要与US-ASCII兼容,则应使用UTF-8。”实际上,与US-ASCII兼容非常有用,几乎是必需的。W3C明智地解释道:“在其他情况下,例如用于API,可能更适合使用UTF-16或UTF-32。选择其中一个的可能原因包括内部处理效率和与其他进程的互操作性。”
据我所知,所有现代浏览器都支持UTF-16编码。但是正如其他人指出的那样,您应该明确声明编码方式。并不是所有浏览器和平台都支持所有Unicode字符,但我认为这与您使用的编码方式无关。然而,如果带宽是一个大问题,您应该考虑压缩HTML。这将比更改编码方式节省更多的带宽。