首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我是否应该从UTF-8更改为UTF-16以适应HTML中的中文字符?

我是否应该从UTF-8更改为UTF-16以适应HTML中的中文字符?
EN

Stack Overflow用户
提问于 2010-10-05 22:50:12
回答 2查看 35.3K关注 0票数 11

我使用的是ASP.NET MVC,MS SQL和IIS。我有一些用户在他们的个人资料信息中使用了中文字符。但是,当我显示此信息时,它显示为æŽå¼·è¯,但它们在我的数据库中是正确的。目前,我的HTML页面的UTF设置为UTF-8。我应该将其更改为UTF-16吗?我知道有一个few problems可以由此产生,但是我有什么选择呢?

EN

回答 2

Stack Overflow用户

发布于 2010-10-05 22:59:47

UTF-8和UTF-16编码完全相同的字符集。这并不是说UTF-8不包含中文字符而UTF-16包含中文字符。UTF-16统一使用16位来表示字符;而UTF-8使用1、2、3,最多使用4个字节,这取决于字符,因此ASCII字符仍然表示为1个字节。从this Wikipedia article开始,了解它背后的想法。

因此,切换到UTF-16几乎不会对您有任何帮助。它有可能会让事情变得更糟,正如你上面链接的SO问题中所讨论的那样。在您的设置中的其他地方有一个问题,它没有正确考虑非ASCII或非拉丁-1字符。确保设置的每个部分都以UTF-8格式工作。

票数 27
EN

Stack Overflow用户

发布于 2010-10-05 22:56:05

任何UTF编码在表示Unicode字符的能力上都应该具有相同的功能,因此切换到UTF-16将无济于事。在某些地方存在编码问题,使用UTF-16只会得到不同的错误HTML表示。当然,如果您有一些库只将非ASCII字符编码为实体,并且确实支持宽字符,那么您的问题可能会通过开关来解决。然而,有些字符甚至需要2个宽字符,尽管用户可能很少注意到,但这些字符仍然会显示错误。最好的选择是让生成HTML的任何东西正确地解释您的UTF-8。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3864842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档