服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

servlet + tomcat 中文乱码的原理和解决方法


  servlet + tomcat 中文乱码的原理和解决方法

servlet + tomcat 中文乱码的原理:

因为 java 的 .class 文件使用的是 unicode 编码,而 windows 2000 操作系统和浏览器使用的是 gbk(gb2312编码的扩展)编码,所以要更该配置文件显式指定浏览器的编码格式。
更为详细的说明请参见http://blog.csdn.net/abnerchai/archive/2004/04/28/javacnproblemup.aspx
servlet + tomcat 中文乱码的解决方法
a) 更改 c:/javasoft/tomcat5.5/conf/server.xml,指定浏览器的编码格式为“简体中文”:
方法是找到 server.xml 中的
<connector port="9111" maxthreads="150" minsparethreads="25" maxsparethreads="75"
enablelookups="false" redirectport="8443" acceptcount="100"
connectiontimeout="20000" disableuploadtimeout="true" uriencoding=´gbk´ />
标记,粗体字是我添加的。
可以这样验证你的更改是否成功:
在更改前,在你出现乱码的页面的ie浏览器,点击菜单“查看|编码”,会发现“西欧(iso)”处于选中状态。而更改后,点击菜单“查看|编码”,会发现“简体中文(gb2312)”处于选中状态。
b)更该 java 程序,我的程序是这样的:
public class threeparams extends httpservlet {
public void doget(httpservletrequest request, httpservletresponse response)
throws servletexception, ioexception {
response.setcontenttype("text/html; charset=gbk");
...
}
}
粗体字是必需要有的,它的作用是让浏览器把unicode字符转换为gbk字符。
这样页面的内容和浏览器的显示模式都设成了gbk,就不会乱码了。

扫描关注微信公众号