Ghost博客使用MYSQL导出导入乱码玄学

Ghost版本是 0.7, 环境是 CentOS7 node 0.12, config.js 里编码是utf8
这是一个很玄学的的问题, 搞了一晚上导出导入了N次
后来让我找到是 MySQL
的锅,按照以下步骤操作既能修正这些问题(在数据库中已经乱码的无解)
- 修改
my.ini
(MariaDB在/etc/my.cnf.d/server.cnf
)
[mysqld]
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
#备注 utf8_unicode_ci 或者 utf8_general_ci 都可以
- 进数据库命令模式
mysql -uroot -p
# 输入数据库密码
进入命令模式后,输入 show variables like 'char%'
查看编码,将不是utf8
的编码都修改为utf8
。
使用命令:SET character_set_client='utf8'
设置为如下图
接着用 show variables like 'collation%'
查看设置后的结果是否正确
没错!就是这样。愉快的搞定了。
后记
在后台导入 json
备份的时候出现这个错误的解决
Attempting to import data linked to unknown user id 4
一般是 文章找不到对应的用户。。打开json备份文件,搜索 users
一般在文件最末尾
把 uid
改成 1
或者临时创建的uid,或者你看下备份导出的那些文章uid是啥改成啥 一般能解决(记得备份)