作者rexkimta (冷杉林)
看板java
标题[JSP ] 输出中文的问题
时间Tue Sep 27 16:00:08 2011
虽然标题用jsp,但接下来提到的程式是用servlet做的。
我的情况是:
有个网页form.html中的form会传一个变数name给program这个servlet。
如果name是中文的话,
在program那里显示出来就会是乱码。
在form.html的meta tag、
servlet response的header、
servlet 产生的html meta tag
都有设定UTF-8,档案本身的编码也都设定成utf-8了。
请问那里还可能有问题呢?
注:只有变数有问题,其他中文字都没事。
像是「小明」(%E5%B0%8F%E6%98%8E)会变成「å°? 」(後面变成问号了。)
--
★ 辰星! 五 欢迎加入五行战斗牌的奇幻世界!
★ ★ 太白! 岁星! 星 官方网站:(内有讨论区)
★★ 镇星!荧惑! 连 http://goo.gl/jC2sp
「当苍茫天穹中 那并非最闪亮 珠 PTT台大社版:NTU-CFE
但却最纯净的五颗星 连成一线时,!
天与地的共鸣 将永不止歇,其力量可至无限。」 ψrexkimta
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.78.32
1F:推 lachtchlee:String sn=request.getParameter("username"); 09/27 16:23
2F:→ rexkimta:嗯,对,我是用楼上那个方法抓参数的。 09/27 16:26
3F:→ lachtchlee:byte[]b =sn.getBytes("ISO-8859-1"); 09/27 16:26
4F:→ lachtchlee:sn = new String(b); response.setContentType("text/ 09/27 16:29
5F:→ lachtchlee:html;charset=utf-8"); 09/27 16:31
6F:→ rexkimta:变成另外一种乱码了。 09/27 16:45
7F:→ rexkimta:如果用楼上的方法的话,会变成一堆问号。 09/27 18:16
8F:推 lachtchlee:response.setContentType("text/html;charset=big5"); 09/27 20:07
9F:→ lachtchlee:其它不变 09/27 20:12
10F:推 lachtchlee:你到底想不想试一下 09/27 21:57
11F:→ rexkimta:唔,我刚刚就不在开发用机器前了,现在没法试。 09/27 22:31
12F:推 lachtchlee:这应该就是你要的了 09/27 22:48
13F:推 PsMonkey:用 post 应该就没有问题了 [茶] 09/28 16:57