使用UTF-8其實對於jsp來說
對於在網(wǎng)頁常常會需要輸入或輸出多國語文上
算是一個比較方便的編碼
JSP的轉(zhuǎn)碼設(shè)定其實也不難..只要記得加上去即可
不然JSP內(nèi)定的編碼可不是UTF-8喔
不過可惜的是MySQL至今尚沒有完整支援UTF-8
但是可別這樣就灰心囉
因為我門可以透過MySQL提供的Connection/J的JDBC介面來存取UTF-8編碼的資料
利用JDBC自動轉(zhuǎn)碼對我們撰寫網(wǎng)頁的人是很方便的
好拉!!不多說..馬上進入主題
我以下分幾個步驟來說明.很少.但都是需要設(shè)定的地方而已
只是提出來給大家注意
1.透過JDBC連接MySQL
12
Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:mysql://[hostname]/[database]?user=&passWord=&useUnicode=true&characterEncoding=utf-8");
紅字的地方一定要加入
因為那是呼叫(說呼叫應該可以吧)JDBC利用UTF-8的編碼來存取資料
簡單的說
就是JSP跟JDBC說....我只要UTF-8.其他免談....
這樣說了解吧^^"
PS:
其實這部分我是建議最少用JSP include的方式來作.比較不會出錯
只要需要的時候include近來即可..有問題只要找尋一個檔案
不要像我每一個都得去檢查有沒有錯誤...
之前的問題就是有一個檔案的JDBC編碼設(shè)定為Big5
害我弄了好多天才找到.....
更進階的朋友可是試著用javaBean來控制應該會更簡單
2.
網(wǎng)頁的部分一定要設(shè)定為如下的程式碼
1
<%@ page contentType="text/html;charset=utf-8" %>
是跟JSP跟瀏覽器(如IE)說我的編碼要用UTF-8來顯示
而下面這個pageEncoding可加可不加..我是習慣都加啦
不知道會不會有問題
請參考javamon65大大的精闢文章會更了解http://www.javaworld.com.tw/jute/post/view?bid=6&id=27113&sty=2
1
<%@ page pageEncoding="utf-8" %>
3.
當你用Form傳遞資料到另一個網(wǎng)頁後
那接收資料的編碼模式也得設(shè)定
不然所接收資料的編碼可是使用JSP內(nèi)定的編碼
你看到的都是亂碼了
1
<% request.setCharacterEncoding("utf-8"); %>
4.
相反的.如果你傳遞資料出去(表單似乎也包含在內(nèi).這我不太清楚得請教各位大大)
就必須設(shè)定下面的程式碼
1
<% response.setContentType("text/html;charset=utf-8"); %>
告訴Tomcat需要使用UTF-8來處理資料的傳遞
5.
這也是很重要的一點喔
記得在編輯你的JSP檔案後
在儲存的時候記得儲存成為UTF-8的格式
因為我適用Dreamweaver MX
MX會自動依據(jù)ContentType來幫你儲存檔案所以不用擔心
但是你若是用NotePad(記事本)寫JSP的話
那就要在檔案格式那邊選UTF-8的格式來儲存囉
否則網(wǎng)頁顯示出來的一樣是亂碼
ex:你存成Big5格式來存檔.但是網(wǎng)頁編碼是設(shè)定為UTF-8
那JSP跟瀏覽器連絡的時候自然是以UTF-8來處理
所以Big5的格式會變轉(zhuǎn)成UTF-8...當然是亂碼囉
所以記得這件很重要的事情
新聞熱點
疑難解答