xwiki管理指南-编码

2021-01-14 11:34:36 浏览数 (1)

以下以UTF-8配置。注意,这是针对XWiki1.0 b5或更高版本。即将发布的版本将提供更容易的配置。

XWiki编码

在以下XWiki文件修改字符编码:

  • web.xml:找到过滤器类org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter并修改为UTF-8。如 <filter> <filter-name>Set Character Encoding </filter-name> <filter-class>org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter </filter-class> <init-param> <param-name>encoding </param-name> <param-value>UTF-8 </param-value> </init-param> </filter>
  • xwiki.cfg :找到包含xwiki.encoding这行并修改,如: xwiki.encoding = UTF-8

HTML编码

通过XWiki后台管理页面修改HTML编码: Administration --> Look & Feel --> Page Elements --> HTTP Meta Info.

在旧版本的XWiki,HTTP Meta位于Administration --> Presentation

这里面的文本框定位Content-type meta标签并把编码修改为UTF-8,如:

<meta http-equiv= "Content-Type" content= "text/html; charset=UTF-8" />

如果有以下代码,则此步是没有必要的

<meta http-equiv= "Content-Type" content= "text/html; charset=$!xwiki.encoding" />

MySQL配置

一般来说修改MySQL配置文件, 在*nix这类系统位于$$/etc/mysql/my.cnf: 从MySQL 5.5.3开始'default-character-set=utf8'这个选项从[mysql]下面被弃用

[client] default-character-set=utf8 [mysqld] default-character-set=utf8 character-set-server = utf8 collation-server = utf8_bin

5.5.3之后

[client] default-character-set=utf8 [mysqld] character-set-server = utf8 collation-server = utf8_bin

Servlet容器

Jetty

echo off rem set LANG=fr_FR.ISO8859-1 set LANG=en_US.UTF-8 set JETTY_PORT=8080 set JETTY_HOME=. java %JAVA_OPTS% -Djetty.port=%JETTY_PORT% -Djetty.home=%JETTY_HOME% -Dfile.encoding=UTF-8 -jar %JETTY_HOME%/start.jar

除了配置系统变量LANG,也可以使用JVM属性

-Duser.language=en -Duser.country=US

在服务器启动脚本

Tomcat

为了在tomcat设置UTF-8编码,需要添加:

URIEncoding="UTF-8"

修改conf/server.xml文件。如果是non-SSL HTTP Connector方式,则修改:

<Connector port= "8080" maxHttpHeaderSize= "8192" maxThreads= "150" minSpareThreads= "25" maxSpareThreads= "75" enableLookups= "false" redirectPort= "8443" acceptCount= "100" connectionTimeout= "20000" disableUploadTimeout= "true" URIEncoding= "UTF-8" />

如果你使用AJP连接Tomcat和httpd,一定要添加这个属性到AJP connector

Glassfish

为了XWiki在Glassfish运行中使用的是UTF-8编码,需要重新创建xwiki-enterprise.war文件以及修改glassfish配置文件。首先,在管理页面 Domain => General => Locale输入en_US.UTF-8.

现在,你将需要在war中对上述所有需要修改的文件进行修改,创建一个新的warfile,并部署到GlassFish。由于GlassFish在deploy app时,如果是从一个目录deploy,必须redeploy或者删除app再重建才能重新加载web.xml。所以,你需要部署一个WAR文件里面包含修改后的web.xml。

创建一个临时目录编辑war文件:

mkdir xwikitmp

解压warfile:

cd xwikitemp;jar xvf ../xwiki-enterprise-web-1.5.war

编辑这篇文章开头提到的文件:

  • wiki.cfg
  • web.xml
  • hibernate.cfg.xml

现在,创建一个新的warfile包含了所有的修改:

jar cvf ../xwiki-enterprise-web-local-1.5.war .

现在可以把新的.war部署到Glassfish

系统配置

以下变量需要添加到你的操作系统:

LANG = en_US.UTF-8

Credits

OpenOffice导入

如果OpenOffice导入时发现出现问号或是HTML实体,那么需要在用户配置文件下编辑registrymodifications.xcu

<item oor:path= "/org.openoffice.Office.Common/Filter/HTML/Export" ><prop oor:name= "Encoding" oor:op= "fuse" ><value>76 </value></prop></item>

Credits

0 人点赞