注册 | 登录 | 设为首页 | 加入收藏
您当前的位置:飞翔学院-IT中国 → 编程开发JSP → 文章内容

Servlet + Tomcat 中文乱码的原理和解决方法

作者:佚名 来源:不详 发布时间:2007-11-29 23:54:42

  Servlet + Tomcat 中文乱码的原理:

因为 Java 的 .class 文件使用的是 Unicode 编码,而 Windows 2000 操作系统和浏览器使用的是 GBK(GB2312编码的扩展)编码,所以要更该配置文件显式指定浏览器的编码格式。
更为详细的说明请参见http://blog.csdn.net/abnerchai/archive/2004/04/28/javacnproblemup.aspx
Servlet + Tomcat 中文乱码的解决方法
a) 更改 C:JavaSoftTomcat5.5confserver.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,就不会乱码了。


  • 打印文档
  • 推荐好友
  • 返回顶部
  • 增大字体
  • 减少字体
关于本站 | 工作机会 | 合作网站 | 广告服务 | 市场合作| 联系我们 | 抽奖活动
版权所有: 武汉威俊科技有限公司 Copyright 2005-2007 www.ITCNW.COM All rights reserved