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: 聯系我


          主站蜘蛛池模板: 灵山县| 周口市| 玉溪市| 科技| 大姚县| 馆陶县| 长春市| 邹城市| 嘉义市| 科技| 宁德市| 濮阳县| 舞钢市| 饶平县| 玉林市| 永安市| 永丰县| 上虞市| 巍山| 库车县| 会同县| 昌图县| 洛隆县| 巢湖市| 乌鲁木齐市| 乳源| 弋阳县| 扶余县| 通江县| 庆城县| 宜春市| 麻江县| 司法| 盱眙县| 龙泉市| 县级市| 临猗县| 镇平县| 饶平县| 徐闻县| 中山市|