我写了一个servelt,从一个jsp页面获得输入,如果我写的英文,获得的数据没有问题
但是如果我输入中文,我在servelet获得的就不是中文显示,但是也不是乱码.二十这个中文的编码.比如我在页面输入汉字 : "我"
在servelet中通过request.getParameter得到的却是"我",恰恰是"我"这个汉字的编码
要怎么才能获得汉字呢我在网上找了很多办法
request.setCharacterEncoding("utf-8");
new String(inputText.getBytes("ISO-8859-9"),"UTF-8");
之类都不行
我知道这是一个编码显示问题,可是一直没有解决
那位有办法帮一下
谢谢.

解决方案 »

  1.   

    这个问题前段时间也遇到过,确实是编码的问题,由于我的项目用的是struts,后来加个过滤器就行了,过滤器代码就是网上copy的总之尽量让个页面编码一致,多试几次应该就可以了
      

  2.   

    将得到的对象转码
    String str = new String("我".getBytes("ISO8859-1"), "UTF-8");
      

  3.   

    写一个过滤器,然后在WEB.XML里部署一下
      

  4.   

    在jsp页面的最上面加上
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> 
    试试
      

  5.   

    get传中文肯定要转码的,就算你过滤器统一了编码方式,只能保证你转码的时候不会出现问题
      

  6.   

    你先在传参的前面加上request.setCharacterEncoding("gb2312");,如果还不行,你在加上page的指令元素charset=UTF-8",如果还不行,你就去找tomcat里面有一个server.xml的文件。里面找到<Connector port="8080" 在这里加上URIEncoding="utf-8",这样应该就可以。你这应该是页面传参和tomcat服务器的编码不一样的问题。你试试。
      

  7.   

    昨天也遇到这样的情况。
    刚开始没在意,后来才发现问题
    解决就四个方法,
    首先:
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> 
    并且
    request.setCharacterEncoding("gb2312");
    第二:
     配置 server.xml。  <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
      <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"  URIEncoding="UTF-8"/>
    第三:
    配置 web.xml  
     <filter>
      <filter-name>setEncoding</filter-name>
      <filter-class>com.dinner.filter.CharsetFilters</filter-class>
      <init-param>
       <param-name>coding</param-name>
       <param-value>UTF-8</param-value>
      </init-param>
     </filter>
     <filter-mapping>
      <filter-name>setEncoding</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
    第四:
    工程编码
     开发中发现Windows版Eclipse默认Java和Web工程的默认编码方式不那么遂人愿,修改方法如下:
     1. Web工程文件编码修改方式
     Window -> Preference -> Content types
     推荐将Web相关文件的编码都设置为UTF-8
     2. Java源文件编码修改方式
     Window -> Preference -> Workspace -> Text file encoding
     Windows平台默认为GBK,Linux平台默认为UTF-8
    经过这四个步骤,肯定能解决的。