get中文乱码:(URL中的中文出现乱码)
在server.xml中的<Connector />标签中添加 URIEncoding="utf-8";
----------------------------------------------------------
post中文乱码:(获取表单中中文内容时出现乱码)
在doPost方法中调用:
request.setCharacterEncoding("utf-8");
----------------------------------------------------------
往浏览器中写中文出现乱码:
在doPost/doGet方法中调用:
response.setContentType("text/html;charset=UTF-8");
----------------------------------------------------------
数据库中文问题:
访问数据库是通过JDBC,所以可以通过设置 JDBC URL 来指定编码
例:
url="jdbc:mysql://localhost:3306/DB?useUnicode=true&characterEncoding=UTF-8";
----------------------------------------------------------
JS中的中文乱码:(一般是URL中的中文)
Java中使用java.net.URLEncoding 和 java.net.URLDecoder 进行编码和解码,
前端使用 encodeURI() 和 decodeURI() 进行编码/解码,且他们会按照utf-8进行编码/解码
前端传参时要用 encodeURI() 编码,前端接收时要用 decodeURI() 解码
后端获取前端的中文:前端用encodeURI() 进行两次编码,后端使用一次 URLDecoder.decode("string","UTF-8") 进行解码(因为request.getParameter()函数时,会自动进行一次URI的解码过程,所以前端编码两次后端只要编码一次)
原文:https://www.cnblogs.com/c21w/p/12830685.html