Version 16.2 by KaiSen on 2013/12/09

Hide last authors
Guillaume Fenollar 13.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
slauriere 1.1 4
Manuel Smeria 15.2 5 Below you have 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.
slauriere 1.1 6
Silvia Macovei 12.2 7 = XWiki encoding =
slauriere 1.1 8
Manuel Smeria 15.2 9 Change the charset enconding in these XWiki files:
bitman09 1.8 10
Marius Dumitru Florea 16.1 11 * **web.xml**: locate the filter class ##com.xpn.xwiki.web.SetCharacterEncodingFilter## and change it to UTF-8. It should look like this:(((
Silvia Macovei 12.1 12 {{code language="xml"}}
bitman09 1.10 13 <filter>
bitman09 1.9 14 <filter-name>Set Character Encoding</filter-name>
15 <filter-class>com.xpn.xwiki.web.SetCharacterEncodingFilter</filter-class>
16 <init-param>
17 <param-name>encoding</param-name>
18 <param-value>UTF-8</param-value>
19 </init-param>
bitman09 1.10 20 </filter>
Silvia Macovei 12.1 21 {{/code}}
Manuel Smeria 15.2 22 )))
Marius Dumitru Florea 16.1 23 * **xwiki.cfg** : locate the line containing ##xwiki.encoding## and change it to look like this:(((
Silvia Macovei 12.1 24 {{code}}
bitman09 1.9 25 xwiki.encoding = UTF-8
Silvia Macovei 12.1 26 {{/code}}
Manuel Smeria 15.2 27 )))
bitman09 1.9 28
Silvia Macovei 12.2 29 = HTML encoding =
bitman09 1.9 30
Marius Dumitru Florea 16.1 31 Change the HTML encoding in XWiki through Administration ~-~-> Look & Feel ~-~-> Page Elements ~-~-> HTTP Meta Info.
LuisArias 11.1 32
Silvia Macovei 12.1 33 {{warning}}
Marius Dumitru Florea 16.1 34 The HTTP Meta Info section was located in Administration ~--> Presentation in older versions of XWiki.
Silvia Macovei 12.1 35 {{/warning}}
LuisArias 11.1 36
Silvia Macovei 12.1 37 Inside this textbox locate the **Content-type** meta tag and make it look like this, changing the encoding to UTF-8
38
39 {{code language="xml"}}
bitman09 1.14 40 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Silvia Macovei 12.1 41 {{/code}}
42
43 {{warning}}
44 This step is not needed if you have the following. Instead that line can be left alone.
45 {{/warning}}
46
47 {{code language="xml"}}
LuisArias 11.1 48 <meta http-equiv="Content-Type" content="text/html; charset=$!xwiki.encoding" />
Silvia Macovei 12.1 49 {{/code}}
bitman09 1.10 50
Silvia Macovei 12.2 51 = Hibernate configuration =
bitman09 1.15 52
Silvia Macovei 12.1 53 Add the following lines in the ##hibernate.cfg.xml## file:
54
55 {{code language="xml"}}
Sergiu Dumitriu 1.6 56 <property name="connection.useUnicode">true</property>
57 <property name="connection.characterEncoding">UTF-8</property>
Silvia Macovei 12.1 58 {{/code}}
Sergiu Dumitriu 1.6 59
Silvia Macovei 12.2 60 = MySQL configuration =
slauriere 1.1 61
Marius Dumitru Florea 16.1 62 It's common practice that the MySQL configuration file, in *nix systems is located in $$/etc/mysql/my.cnf##:##
KaiSen 16.2 63 Starting with MySQL 5.5.3 the option 'default-character-set=utf8' is deprecated under [mysql]
Silvia Macovei 12.1 64
65 {{code}}
slauriere 1.1 66 [client]
67 default-character-set=utf8
68 [mysqld]
69 default-character-set=utf8
70 character-set-server = utf8
Guillaume Fenollar 13.1 71 collation-server = utf8_bin
Silvia Macovei 12.1 72 {{/code}}
slauriere 1.1 73
KaiSen 16.2 74 **After 5.5.3**
75
76 {{code}}
77 [client]
78 default-character-set=utf8
79 [mysqld]
80 character-set-server = utf8
81 collation-server = utf8_bin
82 {{/code}}
83
84
85
Silvia Macovei 12.2 86 = Servlet Container =
slauriere 1.1 87
Silvia Macovei 12.2 88 == Jetty ==
Silvia Macovei 12.1 89
Marius Dumitru Florea 16.1 90 {{code}}
91 echo off
slauriere 1.1 92 rem set LANG=fr_FR.ISO8859-1
93 set LANG=en_US.UTF-8
94 set JETTY_PORT=8080
95 set JETTY_HOME=.
Manuel Smeria 15.2 96 java %JAVA_OPTS% -Djetty.port=%JETTY_PORT% -Djetty.home=%JETTY_HOME% -Dfile.encoding=UTF-8 -jar %JETTY_HOME%/start.jar
97 {{/code}}
machac 1.4 98
Manuel Smeria 15.2 99 Instead of the config system variable LANG you can use JVM properties.
100
Silvia Macovei 12.1 101 {{code}}
machac 1.4 102 -Duser.language=en
103 -Duser.country=US
Silvia Macovei 12.1 104 {{/code}}
machac 1.4 105
106 in server startup script.
107
Silvia Macovei 12.2 108 == Tomcat ==
aanno 3.1 109
110 In order to enable UTF-8 in tomcat, you have to add
111
Silvia Macovei 12.1 112 {{code}}
Sergiu Dumitriu 6.1 113 URIEncoding="UTF-8"
Silvia Macovei 12.1 114 {{/code}}
aanno 3.1 115
Manuel Smeria 15.2 116 to each connector enabled/used in ##conf/server.xml##. For example the non-SSL HTTP Connector should read:
aanno 3.1 117
Silvia Macovei 12.1 118 {{code language="xml"}}
aanno 3.1 119 <Connector port="8080" maxHttpHeaderSize="8192"
120 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
121 enableLookups="false" redirectPort="8443" acceptCount="100"
122 connectionTimeout="20000" disableUploadTimeout="true"
Sergiu Dumitriu 6.1 123 URIEncoding="UTF-8"/>
Silvia Macovei 12.1 124 {{/code}}
aanno 3.1 125
Silvia Macovei 12.1 126 {{warning}}
127 In case you're using AJP to connect Tomcat and httpd, make sure you add this attribute to the AJP connector.
128 {{/warning}}
cypromis 9.1 129
Manuel Smeria 15.2 130 == [[Glassfish>>http://glassfish.java.net/]] ==
cypromis 9.1 131
Manuel Smeria 15.2 132 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**.
cypromis 9.1 133
Manuel Smeria 15.2 134 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 your glassfish installation. This is required due to the fact that Glassfish will not accept changes to a deployed web.xml file. So you need to deploy a ready changed **web.xml** file inside your war file because all subsequent changes to the deployed **web.xml** file in the filesystem are totally ignored.
Silvia Macovei 12.1 135
Manuel Smeria 15.2 136 Create a new directory that we will use as a temporary place to edit our war file:
Silvia Macovei 12.1 137
138 {{code}}
139 mkdir xwikitmp
140 {{/code}}
141
cypromis 9.1 142 Unpack the warfile:
Silvia Macovei 12.1 143
144 {{code}}
145 cd xwikitemp;jar xvf ../xwiki-enterprise-web-1.5.war
146 {{/code}}
147
cypromis 9.1 148 Edit the files as mentioned in the beginning of this article:
Silvia Macovei 12.1 149
cypromis 9.1 150 * wiki.cfg
151 * web.xml
152 * hibernate.cfg.xml
Silvia Macovei 12.1 153
Manuel Smeria 15.2 154 Now let's create a new warfile which contains all the changes:
cypromis 9.1 155
Silvia Macovei 12.1 156 {{code}}
157 jar cvf ../xwiki-enterprise-web-local-1.5.war .
158 {{/code}}
159
cypromis 9.1 160 Now you can deploy your new .war file to Glassfish and it will have all the changes in it and wll be correctly deployed.
161
Silvia Macovei 12.2 162 = System config =
cypromis 9.1 163
Manuel Smeria 15.2 164 Add the following variables to your system:
slauriere 1.1 165
Silvia Macovei 12.1 166 {{code}}
WilliamLesguillier 2.1 167 LANG = en_US.UTF-8
Silvia Macovei 12.1 168 {{/code}}
slauriere 1.1 169
Manuel Smeria 15.2 170 [[Credits>>http://markmail.org/message/qitvntzz7cwpyo2w]]
petskratt 15.1 171
172 = OpenOffice import =
173
Manuel Smeria 15.2 174 If OpenOffice import turns characters into question marks or HTML Entity you need to edit **registrymodifications.xcu** located in user profile used by the OO server by adding:
petskratt 15.1 175
176 {{code}}
177 <item
178 oor:path="/org.openoffice.Office.Common/Filter/HTML/Export"><prop
179 oor:name="Encoding" oor:op="fuse"><value>76</value></prop></item>
180 {{/code}}
181
Manuel Smeria 15.2 182 [[Credits>>http://lists.xwiki.org/pipermail/users/2011-November/021004.html]]

Get Connected