博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp tomcat eclipse 中文乱码
阅读量:2341 次
发布时间:2019-05-10

本文共 1114 字,大约阅读时间需要 3 分钟。

前沿

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

必备工具

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编码的。

还有一种情况:

有些教材说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方式提交的数据才会被正确解码。

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

验证方式

1看看浏览器是不是按照utf-8处理编码的

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

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

打开firefox。启动firebug。然后如图查看

这里写图片描述

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

你可能感兴趣的文章
CommandLineRunner
查看>>
spingcloud总结
查看>>
springcloud首个项目遇到的坑
查看>>
spring-oauth2总结
查看>>
SpringCloud声明式服务调用Feign
查看>>
微服务监控模块springboot Admin
查看>>
安全模块springboot security
查看>>
springcloud gateway
查看>>
drools使用记录
查看>>
阿里六面,挂在hrg,我真的不甘心!
查看>>
人生的康波周期,把握住一次,足以改变命运!
查看>>
互联网公司那些价值观-阿里巴巴
查看>>
去面试快手,问了我很多消息队列的知识!
查看>>
图解LeetCode No.18之四数之和
查看>>
402. Remove K Digits
查看>>
75. Sort Colors
查看>>
获取数组中前K小的数字
查看>>
数组heapify变为堆结构
查看>>
二叉树的非递归遍历
查看>>
218. The Skyline Problem
查看>>