出现该问题的可能原因:
1. jsp页面头部编码的问题。如:
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
该问题的解决:
1. jsp页面头部编码的问题,解决方法:
把
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
改为
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
为什么这样做?
本人也没太明白,只知其然而不知其所以然,只做这么个记录吧……欢迎高人给予解释!
找了下资料,IBM这个应该靠谱:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
在这行的页面指令中的"text/html; charset=UTF-8"将应答消息中的"Content-type" 设置为"text/html; charset=UTF-8"。
"pageEncoding"只是指明了 JSP 页面本身的编码格式,指明了 JSP 是以什么编码方式保存。容器在读取文件时将起转化为内部使用的 Unicode. 当应答发送回至浏览器时,容器会将内部使用的 Unicode 转化为在 Content-type 中指定的字符集。
如果没有指定 PageEncoding,可以通过使用 Content-type 指定的字符集来解释 JSP 页面字节。
为了能正常显示 UTF-8 编码的字符,要满足以下两个条件:
1.通知浏览器应答消息使用的字符集。
2.配置浏览器使其能有正常显示 UTF-8 编码的字体。