网页中文超链接出现乱码

白起 发布于 2012/05/03 14:42
阅读 1K+
收藏 0

最近帮别人解决问题时遇到个奇怪的问题,就是中文超链接乱码,在servlet中用iso8859-1去解码能正确显示,比方这个<a href="${pageContext.request.contextPath}/testServlet?t=测试">test</a>,那么在servlet中的t直接输出就是乱码,必须new String(t.getBytes("ISO8859-1"),"UTF-8")才能正确显示,可是我的JSP页面中的contentType和pageEncoding都已经设置了UTF-8编码,<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8" %>

servlet中我写的是response.setContentType("text/html;charset=UTF-8");

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
不知道为什么他还会用ISO8859-1去编码?
加载中
0
鉴客
鉴客

URL 中的中文必须用 URLEncode 先 encode 一下,然后再服务器端要做转码

request.setCharacterEncoding("UTF-8") 只对 POST 请求有效,GET 请求无效

0
白起
白起
找到某写原因了,我又用表单做了测试,发现post可以正常,但是get不起作用,不晓得为啥
0
白起
白起
刚才又问了别的人,让我去看get和post的区别,原来get是ASCII的字符编码
返回顶部
顶部