J2EE社區

          茍有恒,何必三更起五更眠;
          最無益,只怕一日曝十日寒.
          posts - 241, comments - 318, trackbacks - 0, articles - 16

          中文支持問題

          Posted on 2010-05-23 10:46 xcp 閱讀(314) 評論(0)  編輯  收藏 所屬分類: struts2
          1、JSP頁面顯示的中文問題
          這是最初級的東西,網上到處都有,不過還是列一下吧:
          Page的第一行改成:<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
          Head里加:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

          2.struts2里面配置,不過默認就是utf-8
            <constant name="struts.i18n.encoding" value="utf-8"></constant>

          3.但是有的時候雖然配置了struts2,但是有時候還是出現亂碼,比如struts2,1.6就是,所以我們最好在struts2過濾之前就已經將數據過濾了一次
          在這我們可以自己實現或者用spring都可以
           
          <filter>
                  
          <filter-name>CharacterEncodingFilter</filter-name>
                  
          <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
                  
          <init-param>
                      
          <param-name>encoding</param-name>
                      
          <param-value>UTF-8</param-value>
                  
          </init-param>
                  
          <init-param>
                      
          <param-name>forceEncoding</param-name>
                      
          <param-value>true</param-value>
                  
          </init-param>
              
          </filter>
              
          <filter-mapping>
                  
          <filter-name>CharacterEncodingFilter</filter-name>
                  
          <url-pattern>/*</url-pattern>
              
          </filter-mapping>   

                其實任何的interceptor機制都可以處理這個的,不管用Webwork還是Spring的interceptor,甚至用AOP,只要在取參數前 加那么一句:request.setCharacterEncoding("utf-8");就行了。以前我用struts就是在它的 RequestProcessor的populate之前加了這么一行。
            
               4. request 的parameter里要傳中文參數的問題
               這個問題跟Web Container有關系,記得以前我同學用WebLogic時好象沒出現這樣的問題。(Tomcat里的解決方案是在server.xml里 Connector port="8080"的attribute里加URIEncoding="utf-8"
          當然還有最土的解決方案,雖然不太會用到,不過還是列出來,以備最無奈的時候使用:
          String encodeStr=new String(fieldValue.getBytes("8859_1"), "utf-8");



          名稱: ?4C.ESL | .↗Evon
          口號: 遇到新問題?先要尋找一個方案乄而不是創造一個方案こ
          mail: 聯系我


          主站蜘蛛池模板: 黄大仙区| 九寨沟县| 晋中市| 沙田区| 临泽县| 辽中县| 新安县| 长岭县| 潢川县| 页游| 鄂尔多斯市| 甘孜| 西青区| 安平县| 汤原县| 永和县| 连云港市| 东港市| 内丘县| 吴忠市| 江永县| 山西省| 小金县| 兰考县| 承德市| 平塘县| 清丰县| 平谷区| 贺州市| 苏州市| 阳西县| 孝义市| 靖江市| 桑日县| 上饶县| 隆安县| 饶平县| 洛南县| 三原县| 安宁市| 湛江市|