[JSP ] 輸出中文的問題

看板java作者 (冷杉林)時間12年前 (2011/09/27 16:00), 編輯推噓5(508)
留言13則, 3人參與, 最新討論串1/3 (看更多)
雖然標題用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

09/27 16:23, , 1F
String sn=request.getParameter("username");
09/27 16:23, 1F

09/27 16:26, , 2F
嗯,對,我是用樓上那個方法抓參數的。
09/27 16:26, 2F

09/27 16:26, , 3F
byte[]b =sn.getBytes("ISO-8859-1");
09/27 16:26, 3F

09/27 16:29, , 4F
sn = new String(b); response.setContentType("text/
09/27 16:29, 4F

09/27 16:31, , 5F
html;charset=utf-8");
09/27 16:31, 5F

09/27 16:45, , 6F
變成另外一種亂碼了。
09/27 16:45, 6F

09/27 18:16, , 7F
如果用樓上的方法的話,會變成一堆問號。
09/27 18:16, 7F

09/27 20:07, , 8F
response.setContentType("text/html;charset=big5");
09/27 20:07, 8F

09/27 20:12, , 9F
其它不變
09/27 20:12, 9F

09/27 21:57, , 10F
你到底想不想試一下
09/27 21:57, 10F

09/27 22:31, , 11F
唔,我剛剛就不在開發用機器前了,現在沒法試。
09/27 22:31, 11F

09/27 22:48, , 12F
這應該就是你要的了
09/27 22:48, 12F

09/28 16:57, , 13F
用 post 應該就沒有問題了 [茶]
09/28 16:57, 13F
文章代碼(AID): #1EWOACEa (java)
文章代碼(AID): #1EWOACEa (java)