作者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