blogspot.com-GA4

星期日, 12月 14, 2008

html 轉unicode 顯示

最近在網站中要顯示中文,於是上網找了轉碼的方式,
以下是資料來源:

Unicode and HTML

來源:JavaWorld

//將中文轉成 16 進位 unicode 表示法,會得到像是 \u4E2D
out.print("
中 16 ="+"\\u"+Integer.toHexString("中華".charAt(0) & 0xffff));

//將中文轉成 10 進位 unicode 表示法(中括弧請自行拿掉,這裡加中括號是怕此處網頁顯示不出unicode)會得到像是 [&#]20013[;] 的結果
out.print("
中 10 ="+"[&#]"+("中華".charAt(0) & 0xffff)+"[;]");
//或是 Integer.parseInt("4E2D",16) 也可以得到 20013

//將 unicode 轉回中文, 此處結果會是一個[中]字,當然,如果要將非 big 5 碼的 unicode 字寫入 ASCII 格式檔案中,是會變成亂碼的,所以輸出檔案格式要設定,如果是輸出在網頁上,就無所謂了
char c_Back = (char)Integer.parseInt("20013");
StringBuffer STSTR = new StringBuffer();
STSTR.append(c_Back);
out.print("
結果="+STSTR.toString());


發現這樣轉中文部份還是亂碼,暈了orz
不過發現在URL中,中文部份是正常的

用以下方法二:
java.net.URLEncoder.encode (tmpValue[1])
java.net.URLEncoder.encode (tmpValue[1],"UTF8")

不過還是不行阿,想想搞不好是因為在filter裡面有在進行轉碼的動作嗎?
拿掉之後測試還是失敗了,orz

是因為URL傳值的關係嗎?
被打敗了

沒有留言: