一。

      由于doget和dopost的处理方式不同,在做servlet的时候遇到这样一个问题:用doPost获得的参数只要加上“request.setCharacterEncoding("utf-8")”这样一行,则显示中文不会乱码,但是用doGet获得的参数加上“request.setCharacterEncoding("utf-8")”这一行后却依然乱码,解决方法如下:

    1.这一个是一劳永逸的方法,从网上找到的
    在你的Tomcat服务器根目录下找到conf/server.xml文件,在文件中找到这样一行,将其中的URIEncoding=""双引号内改为utf-8,即红色字体处。
    如下:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8"/>

    2.下面这种方法是老师教的,比如:

        String name=request.getParamter("name");

        String  userName=new String(name.getBytes("iso-8859-1"),"utf-8");

        这是利用字符串的转码功能强制转码。注:  .getBytes()如果是中文操作系统,默认是用gb2312编码。

 二.

     在使用输出到页面时要用如下方式:  response.setHeader("Content-Type","text/html;charset=utf-8");