<%@page language="java" contentType="text/html;charset=utf-8"%>
<%
request.setCharacterEncoding("utf-8");
String aa = request.getParameter("abc");
String   name=new String(request.getParameter("abc").getBytes("ISO8859-1"));
out.println(request.getParameter("abc")+"="+name); 
%>localhost:8080/char.jsp?abc=中国显示:&Ouml;&ETH;&sup1;ú=中国 应该都是可以显示中文的阿,之前的服务器上是:中国=中国 系统全部是utf-8,connector 已经加了URIEncoding="UTF-8"以前直接request.getParameter就可以得到不是乱码的中文阿,怎么现在不行了?环境都是一样的呀。。搞了块一天了。累...

解决方案 »

  1.   

    环境:jdk1.42  win2003 iis6 tomcat5.0.4
      

  2.   

    对了,因为程序都是之前的,都是request.setCharacterEncoding("utf-8");后再获取参数的方式,所以我不可能再一个个改程序,所以要调好环境阿。
    不然我就用上面第二种方式,也可以转换成中文
      

  3.   

    <Connector port="8185" maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="true" redirectPort="8443" acceptCount="100"
                   connectionTimeout="20000" disableUploadTimeout="true" URI="utf-8" />
      

  4.   

    post 和 get的编码是不一样的你那样处理,对post的数据,是有效的,但是对get是无效的
    需要转码
      

  5.   

    也可以象楼上那样,get也用utf-8编码
      

  6.   

    现在问题就是POST和GET都不行,我以前这样设置过,POST是好的阿。。
      

  7.   

    <%
    request.setCharacterEncoding("utf-8");
    String aa = request.getParameter("abc");
    String   name=new String(request.getParameter("abc").getBytes("ISO8859-1"));
    out.println(request.getParameter("abc")+"="+name); 
    %>
    ---》
    out.println(request.getParameter("abc")+"="+name); 那不是没有转码
    -->>out.println(name+"="+name);
      

  8.   

    记得设置URIEncding="UTF-8"和在jsp页面request.setCharacterEncoding("utf-8");以后POST不用转换的呀, 但是现在不行了..http://www.ioro.cn/1.jsp
      

  9.   

    只要POST弄好就行了。。汗。。tomcat这个烂东西。
      

  10.   

    已经存成utf-8了,你点右键看下。
      

  11.   

    写入是先将gb2312转化为iso-8859-1,输出时再将iso-8850-1转换为gb2312.按照这样来改就OK了