关闭

Web应用的乱码处理

标签: 乱码的产生和解决
48人阅读 评论(0) 收藏 举报

乱码产生的原因:编码和解码的方式不一样

1.get请求:

乱码的产生:

浏览器发送请求时会将URL进行utf-8编码,请求到达tomcat服务器后会以ISO-8859-1的方式进行解码,所以在Servlet中通过request.getParameter()方式获得的参数是乱码的。

解决乱码问题:

改变tomcat的编码方式。

修改Server项目中的server.xml,加上URIEncoding="utf-8"。即

    <Connector URIEncoding="utf-8" connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/>

2.post请求

post方式的请求会绕过tomcat服务器,直接到达doPost()方法,所以参数不会被tomcat解码,而是在request.getParameter()获取参数之前进行自动解码,所以要在获取参数之前设置字符的编码方式:request.setCharacterEncoding("utf-8");
另外,还要使浏览器以utf-8的方式读取相应信息:response.setCharacterEncoding("utf-8");

3.将页面上的编码方式设置为utf-8。

<meta charset="UTF-8"> 

4.将web项目所有文件的编码方式改为utf-8

在项目的Properties中设置。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3562次
    • 积分:359
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类