标签:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
两个层面: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");
1 <%
2 request.setCharacterEncoding("UTF-8");
3
4 %>
5 username:<%= request.getParameter("username") %>
2) 对于get请求:
① 先获取参数,之后解码,再编码
1 <%
2 String val = request.getParameter("username");
3 String username = new String(val.getBytes("iso-8859-1"),"UTF-8");
4 out.print(username);
5
6 %>
② 通用方法:设置tomcat的server.xml 添加 useBodyEncodingForURI="true"。这样就可以同post方法一样的方式解决中文乱码
1 <Connector port="8080" protocol="HTTP/1.1"
2 connectionTimeout="20000"
3 redirectPort="8443"
4 useBodyEncodingForURI="true"/>
参照:http://localhost:8080/docs/config/index.html 文档的 useBodyEncodingForURI 属性。为connector 添加此属性,设置为true
同样修改 eclipse中的tomcat的映射,添加同样的内容
参考:
1.eclipse中tomcat能正常启动,但是浏览器访问不了tomcat首页 问题解决
[原创]java WEB学习笔记17:关于中文乱码的问题 和 tomcat在eclipse中起动成功,主页却打不开
标签:
原文地址:http://www.cnblogs.com/jasonHome/p/5524427.html