大家好,我遇到一字符集问题,已解决,但有些疑惑:
jsp页面中
<%@ page contentType="text/html;charset=GBK"%><%@ page pageEncoding="GBK" %><%
    request.setCharacterEncoding("GBK");
%>
向服务器端传递一中文参数。
PS:上述三者无论怎样组合都试过。服务器端:
String str1 = request.getParameter("myParameter"); // 无论jsp页面中三者如何组合,str1均为乱码String str2 = new String(request.getParameter("myParameter").getBytes("ISO-8859-1"), "GBK"); // 同上// jsp中只需<%@ page contentType="text/html;charset=GBK"%>便可,str3正常,当然其它组合也无妨
String str3 = new String(request.getParameter("myParameter").getBytes("ISO-8859-1"), "UTF-8");问题:为什么GBK不能,UTF-8反而行了?请指教,谢谢~

解决方案 »

  1.   

    恩楼上说的对,get和post是不一样的
      

  2.   

    是不是服务器的字符编码本身就是UTF-8
      

  3.   

    你tomcat那里是不是设置成utf-8了?
    上次帮一个人弄乱码问题,怎么都不行,后来发现他tomcat那里不是默认的设置,。。
      

  4.   

    采用Ajax方式很容易造成乱码。
    万能的方法是:在页面端进行两次编码encodeURI() ,然后在服务器端解码decodeURI 。
    这样传输的过程中采用的是unicode码传输。
    解码后绝对不会出现乱码的问题
      

  5.   

    你工程的字符编码属性是不是utf-8啊?好像和这个有点关系
      

  6.   

    你在servlet里面用getCharacterEncoding()看看他的编码方式是什么