GET请求中文乱码:
因为客户端发送的数据会进行UTF-8编码操作 然后发送到服务器后又进行iso-8859-1解码 所以会造成中文的乱码
解决方法1:
1用iso-8859-1进行编码 getBytes()
2然后用utf-8进行解码 new String( , "UTF-8")
解决方法2:
在server.xml中添加URIEncoding
POSt请求中文乱码:
解决方法1:
1用iso-8859-1进行编码 getBytes()
2然后用utf-8进行解码 new String( , "UTF-8")
解决方案2:
调用HttpServletRequest的setCharacterEncoding("UTF-8")方法,设置请求体的字符集为UTF-8,但是要注意此方法必须在getParameter之前调用 否则无效~
Response输出的字符的乱码问题
解决方法1:
可以调用response.getCharacterEncoding()来查看服务器的编码------ISO-8859-1
(1)所以可以调用response.setCharacterEncoding("UTF-8");来设置服务器输出的数据是UTF-8编码
(2)还需要告诉客户端使用uTF-8字符集查看数据(否则默认为GBK也会出错):
通过响应头设置:response.setHeader("Content-Type","text/html; charset=UTF-8");
解决方法2:
同时设置服务器和客户端都使用UTF-8字符集:一定要放在服务器获取流之前 否则不生效~
response.setContentType("text/html; charset=UTF-8");