见世界

redmine 项目名称中文乱码

知道是collation的问题,不想逐表修改,又没有好办法。
寻求redmine区域配置而不得,最终找到方法将所有表设定为 CHARSET=utf8。

参考这位同胞的方法:凍仁的筆記
导出表结构:
mysqldump –user=root -p redmine_default > redmine_default.sql
vim批量替换:
:%s/latin1/utf8/g
导入表结构:
mysql -uroot -p redmine_default < redmine_default.sql

PS:
前两天写接口collation默认latin,手动一个一个改成了utf8_general_ci.
心想应该写个脚本做这件事,只想了导出表名、批量生成sql一条路。
上面这个方法既直观也很方便,记一笔。

=============续:默认中文数据乱码=============
症状:过滤器下,第二列可选项乱码。角色中文名乱码。
涉及表trackers, roles, enumerations等。

redmine官方安装文档
第六步建立表结构,无法设定编码。(设定成功的兄弟请纠正)
第七步导入默认数据,可以通过REDMINE_LANG参数设定编码

RAILS_ENV=production REDMINE_LANG=zh rake redmine:load_default_data

若第六步数据库charset与collation未设定为utf8与utf8_general_ci,第七部插入中文数据会显示为“???”。
先按上文叙述设置charset,再导入中文数据能修复此问题。