按下面设置:
windows下面url?username=中文传递时不会有乱码,
但linux下面按下面设置后还是有乱码,怎办?
因为有的客户是windows有的客户是 linux,但系统只有一套,如果加编码转换,windwos下面就成乱码了,怎办?
谢谢<Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true"  URIEncoding="gb2312"/>

解决方案 »

  1.   

    request.setCharacterEncoding("gb2312"); 
    response.setContentType("gb2312");
      

  2.   

    我在action中设置了
    request.setCharacterEncoding("gb2312");  
    response.setContentType("gb2312");还是乱码
      

  3.   

    new String(request.getParameter("shqr").getBytes("ISO-8859-1"),"gb2312"));
    在linux上,这样可以取到中文,但在windows上,就是乱码了。
      

  4.   

    用 post提交 就没这么多事了
      

  5.   

    URLDecoder.decode(param, "gb2312")
      

  6.   

    传参的地方用URLEncoder.encode()编码,接参的地方用URLDecoder.decode()解码,这样中文经过编码就不会乱码了。第二种不改变对链接编码情况下,根据请求头信息判断客户机是什么操作系统
    对linux就进行new String(request.getParameter("shqr").getBytes("ISO-8859-1"),"gb2312"));