Re: [JSP ] 輸出中文的問題

看板java作者 (J.J.)時間12年前 (2011/10/01 04:00), 編輯推噓1(106)
留言7則, 2人參與, 最新討論串3/3 (看更多)
TOMCAT request預設編碼為latin7(? 至少不是latain1 resin預設編碼為utf8 在server.xml的系統設定檔中 <host>標籤中有設定request預設編碼的參數 另外 servlet編碼 又是另外一回事 使用new String(getBytes(), )可以解決問題 但是 不是根本辦法 另外 在java中 錯誤的編碼會導致文字被拋棄 直接輸出無法修復的"?"字元 所以萬能的拉丁7其實或許是種安全的手段 因為任何byte都可以被表示 還可以事後救援 輸入編碼utf8 給予big5會獲得一團? 完全不給救 這種問題我遇過 而且是沒有源碼的servlet 一整個就是哭出來 ※ 引述《rexkimta (冷杉林)》之銘言: : ※ 引述《rexkimta (冷杉林)》之銘言: : : 雖然標題用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/9jROz : http://www.jguru.com/faq/view.jsp?EID=1030399 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.0.157

10/01 10:23, , 1F
latin7有解???
10/01 10:23, 1F

10/01 22:58, , 2F
拉丁的話 至少每個byte都可以被強制表示出來只是亂碼
10/01 22:58, 2F
※ 編輯: JeremyJoung 來自: 59.120.0.157 (10/01 23:00)

10/01 23:01, , 3F
只要有亂碼而不是"?" 就有機會使用getBytes()矯正
10/01 23:01, 3F

10/02 01:05, , 4F
感謝 之前搞編碼時快被搞死 下次有機位就用這招囉~
10/02 01:05, 4F

10/02 01:07, , 5F
另外那時候才發現 標準寫法為UTF-8 小寫也可以!! 但若寫成
10/02 01:07, 5F

10/02 01:08, , 6F
UTF8 或是 utf8 在某些情況下會亂碼!!!
10/02 01:08, 6F

10/04 12:45, , 7F
某些伺服器對於大小寫很敏感 甚至連include都要求同步
10/04 12:45, 7F
文章代碼(AID): #1EXX_gXw (java)
文章代碼(AID): #1EXX_gXw (java)