Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
13.1 | 1 | {{box cssClass="floatinginfobox" title="**Contents**"}} |
2 | {{toc/}} | ||
3 | {{/box}} | ||
![]() |
1.1 | 4 | |
![]() |
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. |
![]() |
1.1 | 6 | |
![]() |
12.2 | 7 | = XWiki encoding = |
![]() |
1.1 | 8 | |
![]() |
20.1 | 9 | Change the charset encoding in these XWiki files: |
![]() |
1.8 | 10 | |
![]() |
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:((( |
![]() |
12.1 | 12 | {{code language="xml"}} |
![]() |
1.10 | 13 | <filter> |
![]() |
1.9 | 14 | <filter-name>Set Character Encoding</filter-name> |
![]() |
17.1 | 15 | <filter-class>org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter</filter-class> |
![]() |
1.9 | 16 | <init-param> |
17 | <param-name>encoding</param-name> | ||
18 | <param-value>UTF-8</param-value> | ||
19 | </init-param> | ||
![]() |
1.10 | 20 | </filter> |
![]() |
12.1 | 21 | {{/code}} |
![]() |
15.2 | 22 | ))) |
![]() |
16.1 | 23 | * **xwiki.cfg** : locate the line containing ##xwiki.encoding## and change it to look like this:((( |
![]() |
12.1 | 24 | {{code}} |
![]() |
1.9 | 25 | xwiki.encoding = UTF-8 |
![]() |
12.1 | 26 | {{/code}} |
![]() |
15.2 | 27 | ))) |
![]() |
1.9 | 28 | |
![]() |
12.2 | 29 | = HTML encoding = |
![]() |
1.9 | 30 | |
![]() |
16.1 | 31 | Change the HTML encoding in XWiki through Administration ~-~-> Look & Feel ~-~-> Page Elements ~-~-> HTTP Meta Info. |
![]() |
11.1 | 32 | |
![]() |
12.1 | 33 | {{warning}} |
![]() |
16.1 | 34 | The HTTP Meta Info section was located in Administration ~--> Presentation in older versions of XWiki. |
![]() |
12.1 | 35 | {{/warning}} |
![]() |
11.1 | 36 | |
![]() |
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"}} | ||
![]() |
1.14 | 40 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
![]() |
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"}} | ||
![]() |
11.1 | 48 | <meta http-equiv="Content-Type" content="text/html; charset=$!xwiki.encoding" /> |
![]() |
12.1 | 49 | {{/code}} |
![]() |
1.10 | 50 | |
![]() |
20.1 | 51 | = Database configuration = |
![]() |
1.1 | 52 | |
![]() |
20.1 | 53 | == MySQL == |
54 | |||
![]() |
16.1 | 55 | It's common practice that the MySQL configuration file, in *nix systems is located in $$/etc/mysql/my.cnf##:## |
![]() |
16.2 | 56 | Starting with MySQL 5.5.3 the option 'default-character-set=utf8' is deprecated under [mysql] |
![]() |
12.1 | 57 | |
58 | {{code}} | ||
![]() |
1.1 | 59 | [client] |
60 | default-character-set=utf8 | ||
61 | [mysqld] | ||
62 | default-character-set=utf8 | ||
63 | character-set-server = utf8 | ||
![]() |
13.1 | 64 | collation-server = utf8_bin |
![]() |
12.1 | 65 | {{/code}} |
![]() |
1.1 | 66 | |
![]() |
16.2 | 67 | **After 5.5.3** |
68 | |||
69 | {{code}} | ||
70 | [client] | ||
71 | default-character-set=utf8 | ||
72 | [mysqld] | ||
73 | character-set-server = utf8 | ||
74 | collation-server = utf8_bin | ||
75 | {{/code}} | ||
76 | |||
77 | |||
78 | |||
![]() |
12.2 | 79 | = Servlet Container = |
![]() |
1.1 | 80 | |
![]() |
12.2 | 81 | == Jetty == |
![]() |
12.1 | 82 | |
![]() |
16.1 | 83 | {{code}} |
84 | echo off | ||
![]() |
1.1 | 85 | rem set LANG=fr_FR.ISO8859-1 |
86 | set LANG=en_US.UTF-8 | ||
87 | set JETTY_PORT=8080 | ||
88 | set JETTY_HOME=. | ||
![]() |
15.2 | 89 | java %JAVA_OPTS% -Djetty.port=%JETTY_PORT% -Djetty.home=%JETTY_HOME% -Dfile.encoding=UTF-8 -jar %JETTY_HOME%/start.jar |
90 | {{/code}} | ||
![]() |
1.4 | 91 | |
![]() |
15.2 | 92 | Instead of the config system variable LANG you can use JVM properties. |
93 | |||
![]() |
12.1 | 94 | {{code}} |
![]() |
1.4 | 95 | -Duser.language=en |
96 | -Duser.country=US | ||
![]() |
12.1 | 97 | {{/code}} |
![]() |
1.4 | 98 | |
99 | in server startup script. | ||
100 | |||
![]() |
12.2 | 101 | == Tomcat == |
![]() |
3.1 | 102 | |
103 | In order to enable UTF-8 in tomcat, you have to add | ||
104 | |||
![]() |
12.1 | 105 | {{code}} |
![]() |
6.1 | 106 | URIEncoding="UTF-8" |
![]() |
12.1 | 107 | {{/code}} |
![]() |
3.1 | 108 | |
![]() |
15.2 | 109 | to each connector enabled/used in ##conf/server.xml##. For example the non-SSL HTTP Connector should read: |
![]() |
3.1 | 110 | |
![]() |
12.1 | 111 | {{code language="xml"}} |
![]() |
3.1 | 112 | <Connector port="8080" maxHttpHeaderSize="8192" |
113 | maxThreads="150" minSpareThreads="25" maxSpareThreads="75" | ||
114 | enableLookups="false" redirectPort="8443" acceptCount="100" | ||
115 | connectionTimeout="20000" disableUploadTimeout="true" | ||
![]() |
6.1 | 116 | URIEncoding="UTF-8"/> |
![]() |
12.1 | 117 | {{/code}} |
![]() |
3.1 | 118 | |
![]() |
12.1 | 119 | {{warning}} |
120 | In case you're using AJP to connect Tomcat and httpd, make sure you add this attribute to the AJP connector. | ||
121 | {{/warning}} | ||
![]() |
9.1 | 122 | |
![]() |
15.2 | 123 | == [[Glassfish>>http://glassfish.java.net/]] == |
![]() |
9.1 | 124 | |
![]() |
19.5 | 125 | To run XWiki with UTF-8 in Glassfish you will need to recreate the XWiki WAR file and do a change to the glassfish config. First, in the Administration GUI under Domain => General => Locale enter **en_US.UTF-8**. |
![]() |
9.1 | 126 | |
![]() |
15.2 | 127 | 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. |
![]() |
12.1 | 128 | |
![]() |
15.2 | 129 | Create a new directory that we will use as a temporary place to edit our war file: |
![]() |
12.1 | 130 | |
131 | {{code}} | ||
132 | mkdir xwikitmp | ||
133 | {{/code}} | ||
134 | |||
![]() |
19.6 | 135 | Unpack the warfile (replace ##<suffix>## with the proper name for the version of XWiki you're using): |
![]() |
12.1 | 136 | |
137 | {{code}} | ||
![]() |
19.6 | 138 | cd xwikitemp;jar xvf ../xwiki-<suffix>.war |
![]() |
12.1 | 139 | {{/code}} |
140 | |||
![]() |
9.1 | 141 | Edit the files as mentioned in the beginning of this article: |
![]() |
12.1 | 142 | |
![]() |
9.1 | 143 | * wiki.cfg |
144 | * web.xml | ||
145 | * hibernate.cfg.xml | ||
![]() |
12.1 | 146 | |
![]() |
15.2 | 147 | Now let's create a new warfile which contains all the changes: |
![]() |
9.1 | 148 | |
![]() |
12.1 | 149 | {{code}} |
![]() |
19.7 | 150 | jar cvf ../xwiki-<suffix>.war . |
![]() |
12.1 | 151 | {{/code}} |
152 | |||
![]() |
9.1 | 153 | Now you can deploy your new .war file to Glassfish and it will have all the changes in it and wll be correctly deployed. |
154 | |||
![]() |
20.1 | 155 | = Web server = |
156 | |||
157 | == Apache == | ||
158 | |||
159 | Make sure that the Apache configuration file ##httpd.conf## contains the following line: | ||
160 | |||
161 | {{code}} | ||
162 | AddDefaultCharset UTF-8 | ||
163 | {{/code}} | ||
164 | |||
![]() |
12.2 | 165 | = System config = |
![]() |
9.1 | 166 | |
![]() |
15.2 | 167 | Add the following variables to your system: |
![]() |
1.1 | 168 | |
![]() |
12.1 | 169 | {{code}} |
![]() |
2.1 | 170 | LANG = en_US.UTF-8 |
![]() |
12.1 | 171 | {{/code}} |
![]() |
1.1 | 172 | |
![]() |
15.2 | 173 | [[Credits>>http://markmail.org/message/qitvntzz7cwpyo2w]] |
![]() |
15.1 | 174 | |
175 | = OpenOffice import = | ||
176 | |||
![]() |
15.2 | 177 | 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: |
![]() |
15.1 | 178 | |
179 | {{code}} | ||
180 | <item | ||
181 | oor:path="/org.openoffice.Office.Common/Filter/HTML/Export"><prop | ||
182 | oor:name="Encoding" oor:op="fuse"><value>76</value></prop></item> | ||
183 | {{/code}} | ||
184 | |||
![]() |
15.2 | 185 | [[Credits>>http://lists.xwiki.org/pipermail/users/2011-November/021004.html]] |
![]() |
20.1 | 186 | |
187 | = Tools = | ||
188 | |||
189 | * The [[Admin Tools extension>>extensions:Extension.Admin Tools Application]] can be helpful to identify the values of the XWiki encoding configuration parameters on a running server. |