中文問題的解決
這次給 openfans 做網摘功能,主體程序倒是很快就寫完了,另外要做個 IE 插件,卻碰到了不少問題。 IE 插件其實很簡單,就是用 js 獲得頁面的標題、 url 和選擇的內容,然后通過彈出窗口,將其送到服務器。這里就有中文的問題了,開始使用 escape ,如 escape(title) 形式, request.getParameter 碰到中文就為 null ,網上搜了一通,說是可以通過 java 編碼搞定,但拿到就為 null 了,還怎么換編碼?忙活了好幾個小時,又是 alert ,又是 document.write ,看上去也沒什么問題。不 escape ,直接在瀏覽器中輸入帶中文的 url ,拿到的不為 null 了,拿到后,通過 new String(str.getBytes("ISO-8859-1"), "UTF-8"); 還真顯示正常了。但用 window.open 又出亂碼了??吹轿恼抡f還有 encodeURIComponent 方法可用,就試了下,把 escape 換成 encodeURIComponent 居然搞定了,服務端還是得用 new String(str.getBytes("ISO-8859-1"), "UTF-8") 進行處理。注意這里用的 tomcat ,它的默認編碼就是 "ISO-8859-1" ,如果改了編碼程序也得做相應的改動了。
posted on 2007-03-11 22:51 pesome 閱讀(1047) 評論(0) 編輯 收藏 所屬分類: 開源軟件