JavaWeb篇——部署在Tomcat上的JavaWeb应用中文乱码问题

Posted james-xgb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb篇——部署在Tomcat上的JavaWeb应用中文乱码问题相关的知识,希望对你有一定的参考价值。

JavaWeb篇——部署在Tomcat上的JavaWeb应用中文乱码问题

关于中文乱码:

  • 首先,在JSP页面上输出中文,请求页面后不出现乱码的前提是:

     contentType="text/html以及charset="UTF-8",pageEncoding="UTF-8" 
    
     即:charset 和pageEncoding的编码要保持一致,通常建议取值为UTF-8
    
  • 其次,服务器在接收请求时使用的默认编码为ISO-8859-1

    也就是说客户端发送过来的数据无论是UTF-8还是GBK,服务器都认为是ISO-8859-1
    除此之外还需保证浏览器的显示的字符编码也和请求的JSP页面的编码一致,建议使用谷歌浏览器(默认编码为UTF-8)
    
  • 补充说明:

    • 对于POST 请求:只要在获取请求信息之前,在调用request的getParameter或
      getReader等方法之前,调用request.setCharacterEncoding("UTF-8")即可

    • 对于GET请求:前面的方式无效。可在tomcat的server.xml为Connector节点添加
      useBodyEncodingForURI="true"属性解决,代码如下:

        <Connector 
                connectionTimeout= "20000" 
                port="8989" 
                protocol= "HTTP/1.1" 
                redirectPort= "8443" 
                useBodyEncoding="true"
        />
    



以上是关于JavaWeb篇——部署在Tomcat上的JavaWeb应用中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

java学习笔记-JavaWeb篇

javaweb回顾第二篇tomcat和web程序部署

怎么把主机上的java web项目部署到linux虚拟机上

转载centos7+tomcat部署JavaWeb项目超详细步骤

web项目部署在我的电脑上的tomcat中,怎样让其他用户访问我的项目

JavaWeb项目如何部署到tomcat(手工)