解決方法1:修改數據庫默認編碼爲utf8
方法來自:
https://blog.csdn.net/lovely_xinyi/article/details/45581883
使用時,發現中文有問號,刷新又正常,解決辦法:
在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文件可以解決該問題
[在CentOS裏面,不是my.ini,是my.cnf,在/etc/my.cnf
[root@localhost /]#vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disablingsymbolic-links is recommended to prevent assorted security risks
symbolic-links=0
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
重啓mysql
/etc/init.d/mysqld restart
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 | lutf8
|character_set_system | utf8
|character_sets_dir | C:/Program File
+--------------------------+----------------
8 rows in set (0.00 sec)
便可以發現以下七個參數中,除了filesystem還是binary,其它均變成了utf8。
解決方法2:
修改/var/atlassian/application-data/confluence/confluence.cfg.xml
找到數據庫定位的那一條hibernate.connection.url,在指定數據庫的最後url的最後添加&useUnicode=true&characterEncoding=utf8
測試新建中文空間成功,刪掉之前輸入的中文亂碼。