
正文
[原创]java WEB学习笔记17:关于中文乱码的问题 和 tomcat在eclipse中起动成功,主页却打不开
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系。本人互联网技术爱好者,互联网技术发烧友微博:伊直都在0221QQ:951226918
内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系。本人互联网技术爱好者,互联网技术发烧友微博:伊直都在0221QQ:951226918
微博:伊直都在0221QQ:951226918
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
两个层面:JSP的输入,JSP的获取
1.在JSP页面上输入中文,请求页面后不出现乱码
1)保证JSP页面的编码格式是UTF-8
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
charset pageEncoding 一致 ,取值为UTF-8
2) 浏览器显示字符编码和请求的JSP页面的编码一致
2.在JSP 页面获取中文参数值:默认参数在传输过程中使用的编码为ISO-8859-1
1)对于post请求:在获取参数之前,调用 request.setCharacterEncoding("UTF-8");
<%
request.setCharacterEncoding("UTF-8"); %>
username:<%= request.getParameter("username") %>
2) 对于get请求:
① 先获取参数,之后解码,再编码
<%
String val = request.getParameter("username");
String username = new String(val.getBytes("iso-8859-1"),"UTF-8");
out.print(username); %>
② 通用方法:设置tomcat的server.xml 添加 useBodyEncodingForURI="true"。这样就可以同post方法一样的方式解决中文乱码
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
useBodyEncodingForURI="true"/>
参照:http://localhost:8080/docs/config/index.html 文档的 useBodyEncodingForURI 属性。为connector 添加此属性,设置为true
同样修改 eclipse中的tomcat的映射,添加同样的内容

参考:
1.eclipse中tomcat能正常启动,但是浏览器访问不了tomcat首页 问题解决








