Some ideas:
* Check that the tables are really using UTF-8: get a mysql shell, open the xwiki database and type "select charset(xwd_content from xwikidoc;". If it does not say UTF-8, then you need to change the encoding. I've attached a script that tries to do that (and creates indexes, too)
* Check that the mysql connections are set to UTF-8. "show variables like 'character_set%';". If it says something else, you can either globally set the mysql encoding to utf-8 (in the mysql configuration file, search the mysql documentation), or configure hibernate to request this:
<xwiki-dir>/WEB-INF/hibernate.cfg.xml, add
<property name="connection.characterEncoding">utf8</property>
after:
<property name="connection.driver_class">com.mysql.jdbc.Driver
</property>
* Check that you set all the encoding parameters to UTF-8:
** in WEB-INF/xwiki.cfg: xwiki.encoding=UTF-8
** in WEB-INF/web.xml:
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
** in WEB-INF/velocity.properties:
input.encoding=UTF-8
output.encoding=UTF-8
After this, it should work just fine.
Sergiu
I write Chinese characters with Xwiki.
I have change the encoding to UTF-8. Futhermore, I set mysql default encode to UTF-8.
The Wiki can work well to display Chinese in the edit situation and view situation.
After I change the wiki by writing Chinese in it. And change it again. If I roll back the version, the Chinese characters will become something like "?????".
How to solve this problem?
Thanks,
Wang Ning