GBK字符集碰到的問題

問題:

出問題的系統是j2ee架構,JSP頁面採用的字符集是GBK,

在錄入一個生僻字"㛃"字後,查詢顯示在頁面時出現問題。



分析:

首先,這個生僻字不在GBK字符集,因爲eclipse編輯器無法save爲GBK格式。所以,在HTML裏面出現了Http Entity Code,㛃 (即生僻字"㛃"),瀏覽器自動通過unicode來解決。碰巧我們使用了c:out標籤,如果escapseXml=true,則會把&轉義爲&,所以html顯示㛃(實際代碼:㛃),所以加上escapseXml=false,則html顯示正常。
最好的辦法還是建議在JSP頁面使用UTF-8字符來解決,將來也能更好的處理國際化的其他字符。


小插曲:
在Tomcat測試時沒有設置charset filter,tomcat會使用確認iso-8859-1來解析,老是亂碼。
 web.xml中字符集的filter如下,順序需要放在最前面
 
<filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>ignore</param-name>
            <param-value>false</param-value>
        </init-param>
    </filter>
    
    <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

發佈了73 篇原創文章 · 獲贊 60 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章