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

适用版本XWiki 1.0 beta5或者更高版本。在将来的版本中,也许可以更方便的实现这个配置。英文版配置说明参考http://www.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
  • (可选)velocity.properties: input.encoding=UTF-8
  • (可选)velocity.properties: output.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 [ - 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
  • 如果使用的新版的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 = " 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的邮件列表得到了大家很多非常有用的建议。非常感谢各位的帮助。总结一下,希望对大家有帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值