作者IMPOSSIBLEr (高级外劳)
看板java
标题[JSP ] Java中文输出乱码问题
时间Wed Jun 6 10:07:22 2012
各位版友好,小弟最近在用JAVA+JSP+TOMCAT写一个简单的网站
但在中文处理却很头大
一开始是资料库塞进去变乱码,後来搞定了,
现在又遇到一个奇怪的问题麻烦大家帮忙一下
问题一开始是我从表单输入资料後submit,後端servlet
接到後要存入资料库,其中有中文资料
假设username是中文
String s = request.getParameter("username");
在Debug Window中看到字串s是正确的中文
但是如果用
Logger.info或是System.out.println印出来就变乱码
再来另一个现象是假设我要印出一个Enum值是中文,例如
System.out.println(ItemTypeEnum.Armor.getChn());
logger.info(ItemTypeEnum.Armor.getChn());
我把这2行放在一般的public static void main中跑,出来的是中文没错
但我如果把这2行放在处理request的method中
public String perform(HttpServletRequest request) {
System.out.println(ItemTypeEnum.Armor.getChn());
logger.info(ItemTypeEnum.Armor.getChn());
}
出来就是乱码。
这造成我塞进资料库的也变成乱码。
苦恼很久,是不是哪里编码没注意呢?
还请版友大大们帮忙一下
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 99.6.133.155
1F:推 PsMonkey:最简单的方式,把你想得到的地方都设定 UTF-8 06/06 10:29
2F:→ PsMonkey:还有,Tomcat 有某一版 post 会有编码问题 06/06 10:29
3F:→ IMPOSSIBLEr:谢谢,我先换个Tomcat version试试 06/06 10:51
4F:→ jej:好久远..Servlet..您可能需要一个filter去过滤编码... 06/06 12:24
5F:推 hgs1906:google "tomcat utf-8 encoding" 这个问题 ? 06/06 12:41
6F:→ bera:设个过滤器, 不然你有100个网页100个都要编码太累... 06/08 04:15
7F:推 edward5431:试试看在getParameter()之前加个 08/14 17:14
8F:→ edward5431:request.setCharacterEncoding("utf-8"); 08/14 17:16