JSP 文件中文乱码的类型分析及解决方案
2017-07-11 13:58
246 查看
1、客户端乱码
解决方案:在 jsp 文件上加以下代码:
2、服务器端乱码
解决方案:在 jsp 文件上加以下代码:
上面解决完服务器端乱码可能还是会导致乱码,因为尚未解决“传输过程乱码”问题。
3、传输过程乱码
分为 GET 和 POST 提交方式这两种
3.1、GET 方式提交解决方案:
获取属性值格式:
String username = request.getParameter("username");
//解决传输过程乱码(get方式提交表单)
String usernameChinese = new String(username.getBytes("iso-8859-1"),"utf-8");<!--将编码转化为 utf-8 编码-->
out.print(usernameChinese);
3.2、POST 方式提交解决方案:
比较方便,设置一句话(全局作用域)搞定:
//解决传输过程乱码post方式提交表单一次性设置编码格式即可!
request.setCharacterEncoding("utf-8");
3.3、另外一种解决 GET 方式提交表单乱码解决方案(简便许多):
直接在文件:C:\apache-tomcat-7.0.47\conf\server.xml(根据你安装路径具体去找此文件),然后修改如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201707/888b8c5ba76bae38bff568a4ff67bf19)
不过发现重启 tomcat 之后此文件又恢复回去了,即修改无效,如图所示在另外一个文件修改保存后再回去之前那文件修改并保存就生效了,如下图所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201707/061badda1cf3d445b8d3c0088c1fd5f0)
到此就解决了 GET 方式提交表单乱码了,但是 POST 这种解决方式不起作用,于是就用上述方法3.2去解决即可!
查看传输过程是否乱码可以在控制台输出,再到 console 窗口查看:
System.out.println(username);
可以自己写个表单提交测试测试。
解决方案:在 jsp 文件上加以下代码:
<%@ page language="java" contentType="text/html"; charset=utf-8" pageEncoding="utf-8"%><!--关键是pageEncoding要设置为utf-8,否则乱码依旧存在--> <meta http-equiv="Content-Type" content="text/html"; charset=utf-8">
2、服务器端乱码
解决方案:在 jsp 文件上加以下代码:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!--关键是pageEncoding要设置为utf-8,否则乱码依旧存在-->
上面解决完服务器端乱码可能还是会导致乱码,因为尚未解决“传输过程乱码”问题。
3、传输过程乱码
分为 GET 和 POST 提交方式这两种
3.1、GET 方式提交解决方案:
获取属性值格式:
String username = request.getParameter("username");
//解决传输过程乱码(get方式提交表单)
String usernameChinese = new String(username.getBytes("iso-8859-1"),"utf-8");<!--将编码转化为 utf-8 编码-->
out.print(usernameChinese);
3.2、POST 方式提交解决方案:
比较方便,设置一句话(全局作用域)搞定:
//解决传输过程乱码post方式提交表单一次性设置编码格式即可!
request.setCharacterEncoding("utf-8");
3.3、另外一种解决 GET 方式提交表单乱码解决方案(简便许多):
直接在文件:C:\apache-tomcat-7.0.47\conf\server.xml(根据你安装路径具体去找此文件),然后修改如下:
不过发现重启 tomcat 之后此文件又恢复回去了,即修改无效,如图所示在另外一个文件修改保存后再回去之前那文件修改并保存就生效了,如下图所示:
到此就解决了 GET 方式提交表单乱码了,但是 POST 这种解决方式不起作用,于是就用上述方法3.2去解决即可!
查看传输过程是否乱码可以在控制台输出,再到 console 窗口查看:
System.out.println(username);
可以自己写个表单提交测试测试。
相关文章推荐
- 关于c#导出的文本或者cvs文件在excel中中文乱码的分析及解决方案
- 用记事本手写一个.jsp文件,然后在网页中打开中文显示乱码的解决方案
- JSP实现文件下载及中文乱码解决方案
- Jsp前台提交中文乱码问题解决方案(Tomcat项目运行时,加载jar包或类文件的顺序)
- JSP或servlet中(以及上传下载文件)中文乱码或不显示的解决方案
- [转]JSP或servlet中(以及上传下载文件)中文乱码或不显示的解决方案
- jsp中文显示乱码解决方案
- 让JSP文件中直接输入的中文,告别乱码!
- jsp实现文件下载与中文文件名乱码问题解决
- JSP实现文件下载同时解决中文乱码问题
- JSP中文乱码解决方案-Tomcat5.0版
- jsp,struts中文乱码问题解决方案.
- jsp中文显示乱码解决方案
- JSP页面间的中文传值乱码问题,解决方案
- JSP SmartUpload上传文件乱码解决纪实+UploadBean上传解决方案
- Struts实现文件下载中文乱码解决方案
- Mysql与JSP网页中文乱码问题的解决方案
- Struts实现文件下载中文乱码解决方案
- JSP SmartUpload上传文件乱码解决纪实+UploadBean上传解决方案
- JSP SmartUpload上传文件乱码解决纪实+UploadBean上传解决方案