最近想尝试一下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的设置页面。