我用  String truename=request.getParameter("truename");得到的是乱码,这是为什么啊

解决方案 »

  1.   

    这原因可多了!
    GET还是POST方式提交?
    客户端用什么编码提交?服务器端设置什么编码解析?(通常是客户端当前页面的编码和服务器端的URIEncoding,特指POST方式)
    至于GET方式通过问号后面跟着queryString提交的参数,通常需要客户端提交之前encodeURI!基本上URL上带着中文是非常坑爹的,现在的浏览器都不厚道,提交请求的时候都不带指明编码的!
      

  2.   

    原来用GET现在用POST 但还是不行
      

  3.   

    如果是post直接 request.setcharsetEncoding() ,参数跟jsp页面的编码指定为一样就行了;如果是get就要手动获取字节然后重新用页面的编码构成字符串
      

  4.   

    字符集的问题啦,这个要集合你电脑开发环境来修正你的字符集的。还有,你是get提交还是post提交的?
      

  5.   

    这个就是字符集的问题,如果你POST或者GET的编码和后台支持的编码不一样,就会出现这种问题。这是Web开发的常见问题。
    如果条件有可能的话,请将所有的编码都设置成utf-8, 这样大家统一了就OK了,否则的话,在接收的地方如果出现了乱码,就要手动转码一下, 比如:str = new String(str.getBytes("iso-8859-1"), "utf-8");上面的代码就是把iso-8859-1的编码转换成utf-8
      

  6.   

    public static String  Gbk(String  action)  
        {  
                try{  
                        byte[]  b  =action.getBytes("ISO8859_1");  
                        String  convert  =new  String(b,"GB2312");  
                        return  convert;  
                }catch(Exception  e){  
                        System.out.println("GBK  Exception:"+e  );  
                }  
                return  null;  
        }  
    将truename字符串传入,即可转为GB2312编码,这样就可以正常显示中文
      

  7.   

    http://blog.csdn.net/tianma630/article/details/8458198看看这个  希望对你哟帮助
      

  8.   

    用GB2312的童鞋注意了,"䶮"这种冷僻字是显示不了的,如果你用GB2312中转转换过这些字就丢了,虽然最后页面上哪怕再用UTF-8也显示不了了!
    只要可以就用GBK编码,"䶮"经常出现在客户的姓名中,还有其他的很多冷僻字也经常出现在姓名中!