解决confluence的乱码问题

最近想尝试一下wiki系统,商业版的wiki:confluence还是比较容易上手。按照教程“ Windows下安装设置Atlassian-Confluence-5.1.4并破解汉化(另附图解)  ”一步一步将confluence安装完成。
试用了一段时间,发现一些含有中文的页面中,中文都变成了问号。
继续搜索解决方案,发现时数据库中数据的格式不对,
在mysql中输入以下命令:

mysql> show variables like 'char%';
+--------------------------+----------------
| Variable_name            | Value
+--------------------------+----------------
| character_set_client     | gbk
| character_set_connection | gbk
| character_set_database   | latin1
| character_set_filesystem | binary
| character_set_results    | gbk
| character_set_server     | latin1
| character_set_system     | utf8
| character_sets_dir       | C:/Program File
+--------------------------+----------------
8 rows in set (0.00 sec)
 

这些参数显示,默认的数据是用latin1保存的,难怪不支持中文。
经过摸索,最终发现修改mysql安装文件夹下的my.ini文件可以解决该问题( 本人用的mysql是xampp-win32-1.8.2-0-VC9版本)。
my.ini文件里的[mysqld]部分有如下内容:
## UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="/xampp/mysql/share/charsets"
只需要将第三行collation_server和第四行character_set_server行首的"#"删掉就好了。也可以同时删除第五行行首的 "#",意思是忽略客户端字符编码的设置。
经过这样一点改动后,重启mysql,再次查询参数设置

mysql> show variables like 'char%';
+--------------------------+----------------
| Variable_name            | Value
+--------------------------+----------------
| character_set_client     | utf8
| character_set_connection | 
utf8
| character_set_database   | 
utf8
| character_set_filesystem | binary
| character_set_results    | 
utf8
| character_set_server     | l
utf8
| character_set_system     | utf8
| character_sets_dir       | C:/Program File
+--------------------------+----------------
8 rows in set (0.00 sec)
 

便可以发现以下七个参数中,除了filesystem还是binary,其它均变成了utf8。
按照这种方式设置,再重新将confluence绑定mysql数据库,就可以完美支持中文了。

附confluence的中文语言包的下载页面,感谢志愿者的辛勤付出。
https://translations.atlassian.com/dashboard/download

另外,一些不成功的解决方法也总结在这里,供大家参考:
1、通过set 命令,如 SET character_set_results=utf8;(也可以在phpadmin中修改)
尽管可以改变该参数,但是重启mysql后,参数还是变成了默认值。
参见: http://blog.csdn.net/userguanguan/article/details/8791468

2、有些人提到在my.ini文件中,在[client]和[mysql]后面添加 default-character-set=utf8;
但是,我按照这种方法做后,mysql不能正常启动。可能和平台以及mysql的版本有关吧。
参见: http://blog.sina.com.cn/s/blog_4c451e0e0100vefm.html

3、页面 http://www.educity.cn/wenda/419483.html中的解决方法,说的很简略,我实在无从下手。

4、页面 http://answers.unlimax.com/2369?show=2370中, 提到”连接MySQL的时候,有没有在连接串中指定&useUnicode=true&characterEncoding=utf8&autoReconnect=true?
这项设置出现在confluence的设置页面。

你可能感兴趣的:(解决confluence的乱码问题)