Encoding
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>
<filter-class>com.xpn.xwiki.web.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
- xwiki.cfg : locate the line containing xwiki.encoding and change it to look like this
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
Hibernate configuration
Add the following lines in the hibernate.cfg.xml file:
<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
default-character-set=utf8
[mysqld]
default-character-set=utf8
character-set-server = utf8
collation-server = utf8_general_ci
Java application server (Tomcat or Jetty for instance)
Jetty
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
Instead of config system variable LANG you can use JVM properties
-Duser.country=US
in server startup script.
Tomcat
In order to enable UTF-8 in tomcat, you have to add
to each connector enabled/used in conf/server.xml. For example the non-SSL HTTP Connector should read:
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="UTF-8"/>
Glassfish
To run xwiki with UTF-8 in Glassfish you will need to recreate the xwiki-enterprise.war file and do a change to the glassfish config. First, in the Administration GUI under Domain => General => Locale enter en_US.UTF-8.
Now you will need to add all the aforementioned changes from this document to the files in the war file, create a new warfile, and deploy that one to you glassfish installations.
Create a new directory that we will use as a temporary place to edit our war file
Unpack the warfile:
Edit the files as mentioned in the beginning of this article:
- wiki.cfg
- web.xml
- hibernate.cfg.xml
Now lets create a new warfile which contains all the changes:
Now you can deploy your new .war file to Glassfish and it will have all the changes in it and wll be correctly deployed.
System config
Add the following variables to your system
Credits: http://www.nabble.com/Re%3A-problem-with-Chinese-p9547507.html