乱码问题:
请求参数乱码问题:
接收参数中文乱码:解决的三种方式:
URL路径中文参数要进行编码,才能不会乱码!
1.request.setCharacterEncoding(“utf-8”);意思是告诉服务器,使用指定的编码格式进行解码。此方法只对post方法有效
2.String name = new String(name.getBytes(“iso-8859-1”),“utf-8”); 对接收到的数据进行ISO-8859-1进行解码,再进行UTF-8进行编码,得到我们想要的参数格式
3.直接在发出请求的页面里面进行设置编码格式:如果是from表单发出请求直接在标签上设置属性:accept-charset=“UTF-8” 此方法只对get方法有效
页面乱码:
可能的问题:
1.页面没有设置编码集
解决方法:在文件的头部加上编码集标签
html页面:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
jsp页面: <%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>
2.字母和中文汉字是不同编码
解决方法:用记事本打开页面,选择另存为 ,点击编码格式为 UTF-8 ,再重新对页面进行一次编码
3.Tomcat问题
1.tomcat 页面乱码
Tomcat乱码参考网:https://blog.csdn.net/cfpl12011124/article/details/53488931
https://blog.csdn.net/panzijie/article/details/83709820
解决方法:在 tomcat 的catalina.bat文件中找到 set JAVA_OPTS= 在上边的空白处加上(set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8)就可以解决
2.tomcat URL路径乱码:
打开 C:\java-packs\tomcat\apache-tomcat-8.5.57\conf\server.xml 文件,
在 <Connector port=“8080” protocol=“HTTP/1.1”
connectionTimeout=“30000”
redirectPort=“8443” URIEncoding=“utf-8”/>
中添加 URIEncoding="utf-8 参数
4.从数据库查询的数据乱码
解决方法:使用命令查看数据库的编码集:show variables like ‘%char%’
5.项目的编码格式不是UTF-8
解决方法:设置当前项目的编码格式是UTF-8
内容仅是个人总结,如有错误请补充!