Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Servlet + Tomcat 中文乱码的原理和解决方法

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

  1. Servlet + Tomcat 中文乱码的原理:

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



相关文章

相关软件