Mutilple language
一般来说微软已经提供了不错的针对多语言的解决方案,可是他的多语言资源要预先编译好,这里我给出一个我们的解决方案,并针对出现乱码的时候的问题提出自己的一些解决方法
我们的方案很简单,就是把多语言资源放在xml和db中,这个人人都能想到,可是做的过程中还是出现了形形色色的乱码,嘿嘿,我来介绍一下我自己的心得
1.检查DB,确认你设计多语言存储的字段用了unicode,也就是 [nchar nvchar ntext]
其实微软已经不推荐我们用 [char varchar text]了,这里再强调下,全国人民团结起来,下次设计数据库的时候不要用[char varchar text]这多语言DB3害了
2. 检查SQL,你确定你的涉及多语言的部分都前面都加N了么,不明白,ok,俺举个例子
SELECT id,name FROM tableA WHERE name=N’小强’;这个N要放在你准备处理的字段[field]前面,当然,这里指的是[nchar nvchar ntext] 检查你的 select 和 update 语句
3. 看看webconfig 中globalization 是否是
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
我强烈推荐这个配置,别写什么gb2312什么big5的,没用,误导,这个就最好
4. 这些都没问题了,再看你的html页面编码是否是utf-8 的,你会说我这个aspx好复杂,好几个地方都有设置encoding,没事,打开DreamWeaver,找到页面属性,更改编码为utf-8一次都好了,呵呵
5. 什么,你还要在url放中文,一般来说,这不是一个好方法,最好的方法是改这个参数为ID什么的其他值,如果客户很BT(我想你不会这么BT) 1是用server.encoding,2是提交数据的时候post
就这些了,欢迎大家讨论
今天是71祝伟大的祖国繁荣昌盛,呵呵