为什么我用request.setCharacterEncoding("GBK"),修改编码无效,但用
new String(request.getParameter("title").getBytes("ISO-8859-1"),"gbk")却有效呢?
哪位高手解释解释
随便问一下,在什么情况下用第一种好,什么情况下用第二种好

解决方案 »

  1.   

    第一种是post提交,第二种是get提交,不知道 LZ的是那种提交方式?
      

  2.   

    request.setCharacterEncoding("GBK")这个是设置请求的编码格式,
    new String(request.getParameter("title").getBytes("ISO-8859-1"),"gbk")你这样设置才有效,那是因为你jsp页面设置的为<%@ page language="java" pageEncoding="ISO-8859-1"%>
      

  3.   

    第一个是请求编码的格式为GBK,第二个主要的是进行的页面的设置。
      

  4.   

    没有,<%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk"%>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk">
    这三个地方我都设成了gbk.
      

  5.   

    request.setCharacterEncoding("gb2312")此行代码必须写在最前面,如果在此前进行任何request.getPragrmber()方法都会使字符转换失效!必须要在读取request的getParameter()和 getReader() 方法之前调用 否则字符转换失效http://happyran.zbpifa.com
    http://007ej.com/user.asp
      

  6.   

    http://happyran.zbpifa.com
    http://007ej.com/user.asp
      

  7.   

    http://007ej.com/user.asp
    http://happyran.zbpifa.com
      

  8.   

    你把你的浏览器的默认编码打开方式 设置为gbk 试下
      

  9.   

    按LZ说的正常情况下应该是没错的。貌似java编码标准默认是ISO-8859-1
    你后者是先将request里边的字符用ISO-8859-1取出,然后实例一个字符串将获取的数据转换成GBK.
      

  10.   

    request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
    把他们写在文件开头,很有效
      

  11.   

    如果用post提交的话两种方法都应该可以的,可能是你的ide设置的问题,get提交的话只能用第二种
      

  12.   

    好像需要写个什么转换的语句,就是在你整个web项目都加上个转换语句
      

  13.   

    你的JSP是8859-1的,
    第二种方法是在中间也转了一个。
    如果你把JSP设置成GBK的就不会转了,就第一种就可以,要不然你第取参数都需要转
      

  14.   

    我处理这种问题有两种方法
    1:每次新建一个JSP页面的时候 先把page指令中的pageEncoding设置一下,修改为GBK,不行的话 就是UTF-8. 因为page指令是对整个页面都有效的,他默认的就是8859-1,记住每次新建页面都要改这个,必须滴 呵呵不然你的页面修改之后是不是没法保存;
    2:jsp页面是向用户显示信息的,所以你在接受参数的时候要使用request.设置编码的那个方法也是GBK
    OK  就这样 还不行 你在找人 我一般都是这样处理
    GBK是中文编码 GB2313是简体中文
      

  15.   

    request.setCharacterEncoding()是用post方法提交用的,另外一种其实是通用的,不过用起来比较麻烦,毕竟要多次转换