勤&快

          問題其實就是你期望的東西和你體驗的東西之間的差別
          隨筆 - 55, 文章 - 0, 評論 - 68, 引用 - 0
          數據加載中……

          [修改版]在XWiki中怎么正常顯示中文字符

          適用版本XWiki 1.0 beta5或者更高版本。在將來的版本中,也許可以更方便的實現這個配置。英文版配置說明參考這里,說的很詳細。http://platform.xwiki.org/xwiki/bin/view/AdminGuide/Encoding

          XWiki 的默認編碼是ISO-8859-1。雖然可以正常顯示中文,但是在XWiki Text Edit中,中文被顯示為數字編碼。要將默認編碼修改為UTF-8,才能正常顯示中文。但是,有的時候修改不當,在進行roll-back操作的時候,中 文顯示為問號,形如'??????'。

          修改XWiki配置文件編碼

          在XWiki的根目錄下的WEB-INF文件夾里,修改如下文件中和編碼相關的內容。

          • web.xml: encoding = UTF-8
          • xwiki.cfg: xwiki.encoding = UTF-8

          修改數據庫編碼

          • 如果使用的是XWiki自帶的數據庫hsqldb,則不需要修改。
          • 如果使用的是MySQL數據庫,找到其配置文件(my.ini如果是windows,在linux下是/etc/mysql/my.cnf),修改在相應的地方添加如下配置項:
            [client]
            default-character-set=utf8
            [mysqld]
            default-character-set=utf8
            character
            -set-server = utf8
            collation
            -server = utf8_general_ci
          • 如果是其他數據庫,只需要修改其配置文件,使其數據庫編碼和JDBC鏈接編碼都為UTF-8即可。詳細可參見相應數據庫幫助文檔。

          修改Java應用服務器編碼

          • (這一步可選,似乎不修改也沒有關系,修改了之后控制開反而會出現亂碼)如果使用Jetty或者早起版本的Tomcat作為服務器,需要修改啟動的腳本文件。在windows下都是.bat或者.sh文件。
              如果是Tomcat,則修改根目錄下bin文件夾下面配置文件(windows下是start.bat,linux下是catalina.sh),如下:
          export JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun"

          # Set juli LogManager 
          if it is present
          if [ -"$CATALINA_HOME"/bin/tomcat-juli.jar ]; then
            JAVA_OPTS
          ="$JAVA_OPTS "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" "-Djava.util.logging.config.file="$CATALINA_BASE/conf/logging.properties " -Dfile.encoding=UTF-8
          fi

          在XWiki自帶的Jetty的start_xwiki.bat,修改如下:
          echo off
          set LANG
          =en_US.UTF-8
          set JETTY_PORT
          =8080
          set JETTY_HOME
          =.
          java 
          %JAVA_OPTS% -Dfile.encoding=UTF-8 -Djetty.port=%JETTY_PORT% -Djetty.home=%JETTY_HOME% -jar %JETTY_HOME%/start.jar
          • 如果使用的新版的Tomcat,在bin下面沒有.bat文件,只有tomcat5.exe文件。那么在運行tomcat5.exe只有,在系統托盤的圖標上單擊右鍵,選擇Configure。選擇Java標簽,在java option中添加'-Dfile.encoding=UTF-8'。如下圖所示:
          • 如果是其他的應用服務器,只要修改相應的配置文件即可。可以查閱相應幫助文檔。
          • 這一步是必須的)有時候會有中文url不能正常訪問的問題,那就需要修改$TOMCAT_HOME/conf/server.xml文件,在每一個Connector標簽中加入屬性"URIEncoding="UTF-8"。修改后的代碼形如:
            <Connector port="8080" axHttpHeaderSize="8192maxThreads="150" minSpareThreads="25" maxSpareThreads="75"       enableLookups="false" redirectPort="8443" acceptCount="100"              connectionTimeout="20000" disableUploadTimeout="true"
                            URIEncoding
            ="UTF-8"/>

          hibernate配置文件編碼(可選)

          在XWiki的根目錄下WEB-INF文件夾下的hibernate.cfg.xml文件中如下代碼:
          <property name="connection.url">jdbc:mysql://localhost:3306/xwiki?useUnicode=true&characterEncoding=utf8&useServerPrepStmts=false</property>

          感謝

          在XWiki的郵件列表得到了大家很多非常有用的建議。非常感謝各位的幫助。總結一下,希望對大家有幫助。

          posted on 2007-03-23 22:15 daning 閱讀(5936) 評論(10)  編輯  收藏

          評論

          # re: 在XWiki中怎么正常顯示中文字符  回復  更多評論   

          多謝分享! 正在學習用 XWiki...
          2007-03-26 09:49 | BeanSoft

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復  更多評論   

          我用的是tomcat 6.0.16 ,修改后控制臺里面的中文信息輸出卻是亂碼。
          而且所有都按照步驟修改后,依然存在亂碼情況。
          我查看了數據庫里的表:xwikistrings,里面存儲的是亂碼,但是如果我在這個表里面輸入中文,則能正常調出并在頁面顯示。
          2008-03-19 10:45 | checkit

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復  更多評論   

          我也試了5.5.26,情況和6的一樣。
          2008-03-19 10:51 | checkit

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復  更多評論   

          請問一下,XWIKI可以連MS-SQL嗎?我下載了Enterprise的war檔,重啟tomcat後,找不到首頁耶?
          2008-06-04 15:28 | karen

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復  更多評論   

          安裝的數據庫是Mysql server 5.0, 在安裝xwiki中出現下面這個問題, 請問怎么解決?

          javax.servlet.ServletException: Error number 3 in 0: Could not initialize main XWiki context
          Wrapped Exception: Error number 3201 in 3: Exception while saving document XWiki.XWikiPreferences
          Wrapped Exception: Could not execute JDBC batch update
          org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
          org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
          org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
          org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
          org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
          2008-08-16 08:37 | gareth

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復  更多評論   

          @gareth
          我沒有遇到過這種問題。你的mysql jdbc是不是最新的?你換個最新的mysql jdbc庫試試。
          2008-08-16 10:59 | daning

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復  更多評論   

          恩。 我用得mysql版本太低。 我想是版本問題。 換了就沒問題啦。非常謝謝。

          你好,請教一個問題。 我根據你的方法修改了配置, 在xwiki中添加有中文內容的頁面時,中文顯示沒問題,可是當我重啟tomcat后,再打開原來的頁面,顯示都是亂碼了。請問怎么解決?
          2008-08-19 06:51 | gareth

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復  更多評論   

          @gareth
          不知道,沒有遇到過。是不是你的瀏覽器不能自動檢測編碼,你試試手動在瀏覽器中修改一下查看頁面編碼,改為utf-8.
          2008-08-19 10:08 | daning

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復  更多評論   

          @daning
          如果是瀏覽器的問題的話, 沒重啟tomcat,查看文檔沒亂碼問題。問題出現在重啟tomcat后,查看文檔才出現亂碼。我的頁面編碼格式utf-8. 數據庫中也是utf-8.我就是按照你文檔上說的弄得的。set LANG=en_US.UTF-8
          這個是加在catalina.bat里面嗎?
          2008-08-19 13:14 | gareth

          # re: [修改版]在XWiki中怎么正常顯示中文字符[未登錄]  回復  更多評論   

          不好意思,這個我就不知道了。
          不過set LANG=en_US.UTF-8 這個可以不設置。
          2008-08-19 13:23 | daning

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 都昌县| 哈巴河县| 四川省| 大石桥市| 重庆市| 黄大仙区| 灯塔市| 逊克县| 伊川县| 平安县| 鲁山县| 博罗县| 西吉县| 临漳县| 肥西县| 松原市| 上栗县| 安远县| 惠州市| 仪征市| 海林市| 鸡泽县| 聂拉木县| 洛川县| 兴山县| 仁布县| 长寿区| 章丘市| 泰宁县| 子长县| 饶平县| 西畴县| 金湖县| 剑阁县| 枣强县| 青浦区| 柞水县| 泗阳县| 青阳县| 淮滨县| 阿瓦提县|