勤&快

          問題其實(shí)就是你期望的東西和你體驗(yàn)的東西之間的差別
          隨筆 - 55, 文章 - 0, 評(píng)論 - 68, 引用 - 0
          數(shù)據(jù)加載中……

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

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

          XWiki 的默認(rèn)編碼是ISO-8859-1。雖然可以正常顯示中文,但是在XWiki Text Edit中,中文被顯示為數(shù)字編碼。要將默認(rèn)編碼修改為UTF-8,才能正常顯示中文。但是,有的時(shí)候修改不當(dāng),在進(jìn)行roll-back操作的時(shí)候,中 文顯示為問號(hào),形如'??????'。

          修改XWiki配置文件編碼

          在XWiki的根目錄下的WEB-INF文件夾里,修改如下文件中和編碼相關(guān)的內(nèi)容。

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

          修改數(shù)據(jù)庫編碼

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

          修改Java應(yīng)用服務(wù)器編碼

          • (這一步可選,似乎不修改也沒有關(guān)系,修改了之后控制開反而會(huì)出現(xiàn)亂碼)如果使用Jetty或者早起版本的Tomcat作為服務(wù)器,需要修改啟動(dòng)的腳本文件。在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文件。那么在運(yùn)行tomcat5.exe只有,在系統(tǒng)托盤的圖標(biāo)上單擊右鍵,選擇Configure。選擇Java標(biāo)簽,在java option中添加'-Dfile.encoding=UTF-8'。如下圖所示:
          • 如果是其他的應(yīng)用服務(wù)器,只要修改相應(yīng)的配置文件即可。可以查閱相應(yīng)幫助文檔。
          • 這一步是必須的)有時(shí)候會(huì)有中文url不能正常訪問的問題,那就需要修改$TOMCAT_HOME/conf/server.xml文件,在每一個(gè)Connector標(biāo)簽中加入屬性"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的郵件列表得到了大家很多非常有用的建議。非常感謝各位的幫助。總結(jié)一下,希望對(duì)大家有幫助。

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

          評(píng)論

          # re: 在XWiki中怎么正常顯示中文字符  回復(fù)  更多評(píng)論   

          多謝分享! 正在學(xué)習(xí)用 XWiki...
          2007-03-26 09:49 | BeanSoft

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復(fù)  更多評(píng)論   

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

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復(fù)  更多評(píng)論   

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

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復(fù)  更多評(píng)論   

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

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復(fù)  更多評(píng)論   

          安裝的數(shù)據(jù)庫是Mysql server 5.0, 在安裝xwiki中出現(xiàn)下面這個(gè)問題, 請(qǐng)問怎么解決?

          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中怎么正常顯示中文字符  回復(fù)  更多評(píng)論   

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

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復(fù)  更多評(píng)論   

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

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

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復(fù)  更多評(píng)論   

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

          # re: [修改版]在XWiki中怎么正常顯示中文字符  回復(fù)  更多評(píng)論   

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

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

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 新昌县| 阿克陶县| 九寨沟县| 吴堡县| 抚松县| 普洱| 绥宁县| 承德市| 栖霞市| 故城县| 兰州市| 卢湾区| 永泰县| 邓州市| 苍溪县| 基隆市| 买车| 大余县| 全州县| 温宿县| 锡林浩特市| 江安县| 广丰县| 砀山县| 如东县| 白城市| 定边县| 日照市| 广丰县| 托克逊县| 疏附县| 彭泽县| 临夏县| 西华县| 建昌县| 万山特区| 宿州市| 绵阳市| 荃湾区| 池州市| 建阳市|