码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-05-08 12:45:02      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:jsp   code   protoc   字符编码   就是   cte   使用   page   服务器   

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应用中文乱码问题

标签:jsp   code   protoc   字符编码   就是   cte   使用   page   服务器   

原文地址:https://www.cnblogs.com/James-XGB/p/12849700.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!