Version 2.1 by WilliamLesguillier on 2007/11/23

XWiki Character Encoding Configuration

Here is below the configuration for UTF-8. Note that this is valid for XWiki 1.0 b5 and above. Easier configuration might be provided for upcoming releases.

XWiki encoding

Change the charset enconding in these XWiki files :

  • web.xml: locate the filter class com.xpn.xwiki.web.SetCharacterEncodingFilter and change it to UTF-8. It should look like this
   <filter-name>Set Character Encoding</filter-name>
  • xwiki.cfg : locate the line containing xwiki.encoding and change it to look like this
xwiki.encoding = UTF-8

HTML encoding

Change the HTML encoding in XWiki through Administration --> Preferences --> Presentation --> HTTP Meta information. Inside this textbox locate the Content-type meta tag and make it look like this, changing the encoding to UTF-8

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

Hibernate configuration

Add the following lines in the hibernate.cfg.xml file:

<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>

MySQL configuration

It's common practice that the MySQL configuration file, in *nix systems is located in /etc/mysql/my.cnf

character-set-server = utf8
collation-server = utf8_general_ci

Java application server (Tomcat or Jetty for instance)

Check the following parameters for your Tomcat UTF-8 encoding (under Linux, check catalina.sh):--------------------------- 

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

Instead of config system variable LANG you can use JVM properties 


in server startup script.

System config

Add the following variables to your system

LANG = en_US.UTF-8

Credits: http://www.nabble.com/Re%3A-problem-with-Chinese-p9547507.html


Get Connected