前段时间在一台服务器上安装了JIRA 4.2.4 + Mysql 5.0.67, 后来有人要求能在JIRA里输入中文。
查看JIRA日志,发现输入的中文在日志中显示为?.
我开始以为是操作系统的问题,因为我用的操作版本是英文版,并且发现打开一个文本文档里面的中文也显示为乱码。所以我在操作系统的区域选项中都设定为中文简体,并重启了服务。
但并没有解决JIRA不能输入中文的问题,日志中仍然显示为?.
然后我开始查看是否是Mysql数据库的问题,用show variables like 'character_%'; 查看系统字符集,显示为latin1.
google搜索一下,在my.ini中设置了default-character-set=utf8, 重启Mysql服务,然后再次尝试在JIRA中输入中文,结局一样......
难道数据库还是不让输入中文?尝试在jira数据库的某一张table中输入中文,果然......,输入中文就报错。
又是一阵搜索,以前创建的JIRA DB是在字符集还是Latin1的时候创建的,是不是需要重新创建数据,那系统里的数据怎么办,一堆数据可不能丢了!
后来想到一个办法,先用Mysql Administrator备份原JIRA数据库,备份完成后修改备份文件中的数据库名和将latin1改为utf8 (之所以要改数据库名,是想待会恢复这个备份后不会冲掉原来的数据库)
然后用这个备份文件恢复数据库,再次在数据库表中输入中文,成功!
将JIRA的配置文件改成连接性数据库,测试输入中文,成功!