Chinaunix首页 | 论坛 | 博客
  • 博客访问: 405781
  • 博文数量: 114
  • 博客积分: 7010
  • 博客等级: 少将
  • 技术积分: 1395
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-05 17:54
文章分类

全部博文(114)

文章存档

2011年(2)

2009年(1)

2008年(111)

我的朋友

分类: Java

2008-07-05 19:41:02

    一般来说,我们现在编程都使用的MVC三层架构体系,也就是说接收和处理数据都是在Moudel(Servler)中完成的,所以要解决乱码问题,也就要在这里进行
 
    对于POST请求,一般可以用简单的  request.setCharacterEncoding("GBK"); 来实现
   
    也可以用 response.setContentType("text/html;charset=GBK");
 
                 response.setCharacterEncoding("GBK"); 这两种方法。
 
    但要解决GET方法的乱码处理 需要一个方法来解决,首先在一个类中定义一个静态方法如下:
 
        //对乱码的处理方法
   public static String font(String str)
   {
    try {
        return new String(str.getBytes("ISO-8859-1"), "GB2312");
    } catch (UnsupportedEncodingException ex) {
        return null;
    }
   }
 
然后在Servler中接收字符时调用方法处理:
      String name = request.getParameter("usname");  //处理前
      String name = NewsDao.font(request.getParameter("usname")); //用定义的方法处理
  NewsDao是我方法所在的类
 
注意:这也可以说是乱码的终极解决方案,如果接收的字符不是汉字就不要用! 负责可能适得其反
 
 
阅读(454) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-08-05 13:37:47

SAP99,支持下,也欢迎访问我的博客, SAP资料多多 http://sap99.cublog.cn 完整的一个SAP培训系列教材,中文E文的都有部份, 一共679多M,涉及SAP的多个模块 地址:http://www.sap99.com/Soft/VIP/200807/64.html