jsp tomcat eclipse 中文乱码

前沿

乱码问题是最难解决的问题。

必备工具

myeclipse2015
tomcat8

辅助工具

notepad(window的自带记事本)
Ie。。。
firefox的firebug。。。

在jsp里面如果你想把中文显示在页面上,那么必须保证所有的编码都是统一的,只要其中任何一个地方出问题都不行
这些地方包括:jsp文件的储存编码,tomcat的处理编码,http头的编码,浏览器的前端编码(这个可以自动识别)

jsp指定编码格式

<%@ page language=”java” pageEncoding=”UTF-8”%>
<%@ page contentType=”text/html;charset=UTF-8”%>
在jsp文件的顶端添上上面的代码。
第一行指定jsp源码文件的编码格式,告诉他我这个文件里面所有的汉字都是utf-8存储的
第二行是添加http响应头里面的属性,告诉浏览器,我这个包数据部分里面的东西出utf-8编码的。

还有一种情况:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

有些教材说html在head里面设置这个东西就可以是utf-8编码的。。但是根据浏览器的解析规则。如果你的http请求头里面制定了编码格式比如是GBK,那么即使你在这里指定了文件是utf-8的也不行,他会按照GKB解析你的文件。

jsp文件编码

当然。我指的就是你jsp代码文件的储存编码。。如果你用eclipse的话会看到你文件里面已经写了charset=”utf-8”会自动储存成utf-8的文件

验证方式

把你的代码保存上。然后用windows自带的记事本打开她,然后打开另存为对话框。
这里写图片描述
如果说这里是UTF-8的那么代表你已经用UTF-8存储好了。。

还有一点提醒,不要用自带的记事本写UTF-8文件,会产生很多问题。
推荐使用notepad++什么的。。

你以为这样就行了吗?当然不是,我们没有告诉tomcat返回的东西要用utf-8

tomcat的处理编码

找到tomcat的conf文件夹。可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding=”UTF-8”,这样,GET方式提交的数据才会被正确解码。

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

到现在为止应该是差不多了。

验证方式

1看看浏览器是不是按照utf-8处理编码的
用ie打开URL。
然后按alt在菜单栏里面打开 查看 菜单选择编码。看看当前浏览器是不是选择在utf-8上面,如果是的话,代表浏览器已经用utf-8解码了

2查看http响应头是不是指定utf-8的编码

打开firefox。启动firebug。然后如图查看
这里写图片描述

经过这两个步骤应该就能验证出来哪里出了问题。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值