荷梅月剑 编程之路

这个世界没有偶然,有的只是必然
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Atlas提交中文时乱码的完整解决方案

Posted on 2007-08-14 13:35  荷梅月剑  阅读(351)  评论(0)    收藏  举报
 

Ajax中最常出现的一个问题就是服务端的包含中文的ResponseXmlHttp编码后变成乱码.Atlas中也同样存在这个问题.
这虽然不是什么大问题,但有时候确实很令人烦恼,现给出我的两个解决方案,有需要的朋友可以参照解决.

1).
修改web.config编码为
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>,
若之前你的编码为gb2312,这次的改动可能会带来其他页面的乱码出现,那你只好整站统一utf-8编码

2).
对提交字符串编码(推荐)

static string FormatEncode(string str)
  
{

 
byte[] buffer = System.Text.Encoding.Default.GetBytes(str);

 
return System.Text.Encoding.UTF8.GetString(buffer);

}


用该方法对输入字符串格式化后再提交,则不会再出现问题.
此方法的好处在于无须修改页面编码,修改后出问题几率小;
缺点是每次提交进行一次编码,使性能下降.但是可以预计这种提交数据与展示相比肯定是要少的多,因此对性能的影响有限.