博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

解决页面多语言乱码的问题

Posted on 2005-07-01 10:55  myzerg  阅读(1994)  评论(6编辑  收藏  举报
 

Mutilple language

一般来说微软已经提供了不错的针对多语言的解决方案,可是他的多语言资源要预先编译好,这里我给出一个我们的解决方案,并针对出现乱码的时候的问题提出自己的一些解决方法

我们的方案很简单,就是把多语言资源放在xmldb中,这个人人都能想到,可是做的过程中还是出现了形形色色的乱码,嘿嘿,我来介绍一下我自己的心得

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祝伟大的祖国繁荣昌盛,呵呵