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