首頁 >web前端 >html教學 >html 中文亂碼 HTML超連結中文亂碼問題分析及解決方法_HTML/Xhtml_網頁製作

html 中文亂碼 HTML超連結中文亂碼問題分析及解決方法_HTML/Xhtml_網頁製作

WBOY
WBOY原創
2016-05-16 16:40:412627瀏覽

Vm中一個超連結URL需要拼接中文作為Get請求的參數。如果直接拼接,傳到後台Action的參數物件後取出會是亂碼,需要編碼後再拼接到URL上。
解決方法是在Action中加入一個成員變量,保存編碼後的中文參數。在vm頁面渲染時取出這個變數值,再拼接超連結。

在這裡碰到的問題是:呼叫java.net.URLEncoder的encode()方法時,如果沒有顯示指定字元集參數,那麼URLEncoder會使用預設字元集。這個預設字元集在Eclipse裡跑main()方法和在Tomcat裡跑Web應用,得到的結果不一樣,所以影響了編碼的結果。

複製程式碼
程式碼如下:

/**
* 將字串轉換為 x-www-form-urlencoded;
* 格式。此方法使用平台預設編碼
*作為編碼方案來取得不安全字元的位元組。
*
* @param s String;待翻譯。
* @deprecated 產生的字串可能會有所不同,取決於平台的
* 預設編碼。相反,使用encode(String,String)
* 方法來指定編碼。
* @return 翻譯後的String
** 🎜>@Deprecated
public static String encode(String s) {
String str = null;
try {
str = encode(s, dfltEncName);
} catch(UnsupportedEnco); {
// The system should always have theplatform default
}
return str;
}

方法的註解中也說明了不建議使用的原因是,這個encode(String)方法依賴平台字元集。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn