我正在尝试使用此脚本的修改版本从Redmine迁移到JIRA - > https://github.com/jhelwig/migrate-redmine-to-jira但是我遇到了各种各样的字符编码问题,我不知道该怎么做。基本上我可以告诉你Redmine数据库和表使用utf8字符集。我可以告诉你JIRA数据库和表使用utf8。我可以告诉你两个连接字符串用于拉取和插入数据使用utf8编码。
然而,它似乎在某个地方通过ruby脚本从Redmine出来的字符不再是utf8。我的预感是它们是双重编码的吗?
基本上,有问题的角色看起来像。哪个没用。在mysql中使用hex我可以看到unicode中的十六进制值是EF818A或U + F04A。
mysql> select SUBSTRING(description, 4787, 1) from issues where id=480\G
*************************** 1. row ***************************
SUBSTRING(description, 4787, 1): ?
mysql> select HEX(SUBSTRING(description, 4787, 1)) from issues where id=480\G
*************************** 1. row ***************************
HEX(SUBSTRING(description, 4787, 1)): EF818A
所以我有点陷入字符集地狱,我不知道我能做些什么来安抚mysql。我的意思是,它没有意义。该角色位于带有utf8的mysql数据库中。我不应该把它放到一个不同的utf8 mysql数据库中。尔加。