1.页面内容的中文问题
response.setContentType("text/html; charset=utf-8");
2.将JSP编译成JAVA文档的编码问题
pageEncoding="utf-8"
3.从数据库查询出来的中文问题
设置数据库连接后加&useUnicode=true&characterEncoding=utf-8
4.使用RequestDispatcher类的forward方法的乱码问题
response.setContentType("text/html; charset=utf-8");
5.使用中文url的乱码问题,
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />后添加 URIEncoding="GBK",变成如下即可,不过这么改的话,别的非英文,如日文会发生乱码
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
response.setContentType("text/html; charset=utf-8"); // 设置客户端的编码机制request.setCharacterEncoding("utf-8"); // 设置传入参数的字符集
response.setCharacterEncoding("utf-8");
通过GET传递中文字符,要先进行编码
java.net.URLEncoder.encode("北京,南宁","utf-8")