解决ASP.NET中的各种乱码问题总结(4)

现在还有一种乱码问题是:同一个程序供多种不同字符集(语言)的用户在使用。
 例如:程序是简体中文的,此时,繁体中文的用户无法保存繁体汉字(就算简体汉字能正常显示)。

当发现这种现象时,需要检查一下数据库的字段类型,是否是Unicode或者UTF-8, 因为当数据字段的字符集不支持多种语言时,乱码问题必定产生。

我建议在使用SQL SERVER时,保存文字的字段都使用N开头的类型, 如:nvarchar, nchar,除非明确知道要保存邮政编码或者md5值,才有必要使用char(xxx)这种数据类型。 类似的,在MySQL中,我建议使用UTF-8

 乱码问题的总结

ASP.NET的乱码问题一般与二个因素有关:

1. 选择了不恰当的字符编码,如:gb2312 

2. 选择了不正确的URL编码方法,如:escape()

因此,解决方案其实也不难:

1. 字符编码选择 utf-8 ,包含文件编码,请求/响应编码,数据库字段类型。

2. URL编码方法选择encodeURIComponent,再次强烈推荐直接使用JQuery

我一直认为:正确的方法可以让我在无形中避开许多问题。

如果你还为乱码问题而烦恼,我建议你先想想你是否选择了不正确的编码(方法)。

点击此处下载示例代码:demo

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjyyfw.html