一。
由于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");
时间: 2024-11-09 02:56:46