[修改版]在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文件。
export JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun"
# Set juli LogManager if it is present
if [ -r "$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
# Set juli LogManager if it is present
if [ -r "$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
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="8192" maxThreads="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) 編輯 收藏