玩JavaEE出现的乱码问题之一
从jsp、html、servlet说起吧
1.html
<meta charset="utf-8">
charset(character set 字符集)设置为utf-8
html中这段代码得有,charset属性规定了HTML 文档的字符编码。
2.jsp
jsp的本质就是通过servlet把html文档输出(打印)到浏览器
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
所以jsp文档的编码控制和html类似,设置字符集为utf-8
3.servlet
上面1和2的注意事项,其实我们都不用再意,因为IDE在帮我们建立html和jsp文档时,都已经帮我们设置好了。你把表单信息提交给某个servlet时,用了utf-8编码将表单信息变成二进信息传输给servlet,那么servlet就要用utf-8编码将二进制信息还原到真实的样子。(其它编码也行,页面和servlet要保持编码一致)
那么,画线的这两句必不可少
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
至此jsp、html和servlet之间的乱码问题解决。