Version 18.1 by Thomas Mortagne on 2015/10/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
Jean SIMARD 17.1 11 * **web.xml**: locate the filter class ##org.xwiki.container.servlet.filters.internal.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>
Jean SIMARD 17.1 15 <filter-class>org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter</filter-class>
bitman09 1.9 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 = MySQL configuration =
slauriere 1.1 52
Marius Dumitru Florea 16.1 53 It's common practice that the MySQL configuration file, in *nix systems is located in $$/etc/mysql/my.cnf##:##
KaiSen 16.2 54 Starting with MySQL 5.5.3 the option 'default-character-set=utf8' is deprecated under [mysql]
Silvia Macovei 12.1 55
56 {{code}}
slauriere 1.1 57 [client]
58 default-character-set=utf8
59 [mysqld]
60 default-character-set=utf8
61 character-set-server = utf8
Guillaume Fenollar 13.1 62 collation-server = utf8_bin
Silvia Macovei 12.1 63 {{/code}}
slauriere 1.1 64
KaiSen 16.2 65 **After 5.5.3**
66
67 {{code}}
68 [client]
69 default-character-set=utf8
70 [mysqld]
71 character-set-server = utf8
72 collation-server = utf8_bin
73 {{/code}}
74
75
76
Silvia Macovei 12.2 77 = Servlet Container =
slauriere 1.1 78
Silvia Macovei 12.2 79 == Jetty ==
Silvia Macovei 12.1 80
Marius Dumitru Florea 16.1 81 {{code}}
82 echo off
slauriere 1.1 83 rem set LANG=fr_FR.ISO8859-1
84 set LANG=en_US.UTF-8
85 set JETTY_PORT=8080
86 set JETTY_HOME=.
Manuel Smeria 15.2 87 java %JAVA_OPTS% -Djetty.port=%JETTY_PORT% -Djetty.home=%JETTY_HOME% -Dfile.encoding=UTF-8 -jar %JETTY_HOME%/start.jar
88 {{/code}}
machac 1.4 89
Manuel Smeria 15.2 90 Instead of the config system variable LANG you can use JVM properties.
91
Silvia Macovei 12.1 92 {{code}}
machac 1.4 93 -Duser.language=en
94 -Duser.country=US
Silvia Macovei 12.1 95 {{/code}}
machac 1.4 96
97 in server startup script.
98
Silvia Macovei 12.2 99 == Tomcat ==
aanno 3.1 100
101 In order to enable UTF-8 in tomcat, you have to add
102
Silvia Macovei 12.1 103 {{code}}
Sergiu Dumitriu 6.1 104 URIEncoding="UTF-8"
Silvia Macovei 12.1 105 {{/code}}
aanno 3.1 106
Manuel Smeria 15.2 107 to each connector enabled/used in ##conf/server.xml##. For example the non-SSL HTTP Connector should read:
aanno 3.1 108
Silvia Macovei 12.1 109 {{code language="xml"}}
aanno 3.1 110 <Connector port="8080" maxHttpHeaderSize="8192"
111 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
112 enableLookups="false" redirectPort="8443" acceptCount="100"
113 connectionTimeout="20000" disableUploadTimeout="true"
Sergiu Dumitriu 6.1 114 URIEncoding="UTF-8"/>
Silvia Macovei 12.1 115 {{/code}}
aanno 3.1 116
Silvia Macovei 12.1 117 {{warning}}
118 In case you're using AJP to connect Tomcat and httpd, make sure you add this attribute to the AJP connector.
119 {{/warning}}
cypromis 9.1 120
Manuel Smeria 15.2 121 == [[Glassfish>>http://glassfish.java.net/]] ==
cypromis 9.1 122
Manuel Smeria 15.2 123 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 124
Manuel Smeria 15.2 125 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 126
Manuel Smeria 15.2 127 Create a new directory that we will use as a temporary place to edit our war file:
Silvia Macovei 12.1 128
129 {{code}}
130 mkdir xwikitmp
131 {{/code}}
132
cypromis 9.1 133 Unpack the warfile:
Silvia Macovei 12.1 134
135 {{code}}
136 cd xwikitemp;jar xvf ../xwiki-enterprise-web-1.5.war
137 {{/code}}
138
cypromis 9.1 139 Edit the files as mentioned in the beginning of this article:
Silvia Macovei 12.1 140
cypromis 9.1 141 * wiki.cfg
142 * web.xml
143 * hibernate.cfg.xml
Silvia Macovei 12.1 144
Manuel Smeria 15.2 145 Now let's create a new warfile which contains all the changes:
cypromis 9.1 146
Silvia Macovei 12.1 147 {{code}}
148 jar cvf ../xwiki-enterprise-web-local-1.5.war .
149 {{/code}}
150
cypromis 9.1 151 Now you can deploy your new .war file to Glassfish and it will have all the changes in it and wll be correctly deployed.
152
Silvia Macovei 12.2 153 = System config =
cypromis 9.1 154
Manuel Smeria 15.2 155 Add the following variables to your system:
slauriere 1.1 156
Silvia Macovei 12.1 157 {{code}}
WilliamLesguillier 2.1 158 LANG = en_US.UTF-8
Silvia Macovei 12.1 159 {{/code}}
slauriere 1.1 160
Manuel Smeria 15.2 161 [[Credits>>http://markmail.org/message/qitvntzz7cwpyo2w]]
petskratt 15.1 162
163 = OpenOffice import =
164
Manuel Smeria 15.2 165 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 166
167 {{code}}
168 <item
169 oor:path="/org.openoffice.Office.Common/Filter/HTML/Export"><prop
170 oor:name="Encoding" oor:op="fuse"><value>76</value></prop></item>
171 {{/code}}
172
Manuel Smeria 15.2 173 [[Credits>>http://lists.xwiki.org/pipermail/users/2011-November/021004.html]]

Get Connected