我工作的公司正在竞标一个项目,该项目要求我们的电子商务解决方案接受简体中文输入.经过一番研究后,似乎ASP.net使全球化配置变得简单:
<configuration> <system.web> <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-Hans" uiCulture="en-us" /> </system.web> </configuration>
问题:
>这真的是ASP.net中的全部内容吗?这似乎很好.
> sql Server 2005是否有任何DB考虑因素? DB是否会接受简体中文而无需额外配置?
解决方法
广告1.真正的问题是,您希望在多大程度上实现国际化.因为i18n不仅允许Unicode输入.您至少需要支持本地日期,时间和数字格式,本地排序规则(主要与排序相关)并确保您的应用程序在本地化操作系统上正确运行(除非您正在开发Cloud aka托管解决方案).您可能想要阅读有关主题
here的更多信息.
至于对汉字输入的支持,如果你打算在中国提供软件,你需要至少支持GB18030-2000.要做到这一点,你需要使用正确的.Net Framework版本 – 支持Unicode 3.0的版本.我相信它自.Net Framework 2.0以来就得到了支持.
但是,如果您想更进一步(可能需要获得竞争优势),您可能需要支持GB18030-2005.唯一的问题是,对这些字符(CJK统一表意文字扩展B)的完全支持在此过程中发生(我不确定它是Unicode 6.0还是Unicode 6.1).因此,您可能被迫使用最新的.Net Framework,但仍然不确定它是否涵盖了所有内容.
您可能需要阅读Unicode FAQ on Han characters.
广告2.我强烈建议您不要将sql Server 2005与中文字符一起使用.原因是,旧的sql Server引擎仅支持UCS-2而不支持UTF-16.这可能看起来略有不同,但这确实引起了4字节汉字表意文字的问题.实际上,您希望能够在查询中使用它们(即LIKE或WHERE子句) – 您将收到所有记录.这就是它的工作原理.为了支持它们,你需要设置非常具体的中文排序规则,这将简化对其他语言的支持.基本上,使用带有中文表意文字的sql Server 2005是一个坏主意.