问题描述
在用 mybatis 往数据库中插入中文数据时出现乱码(一串问号),报错信息:
Incorrect string value: ‘\xE6\x98\xB5\xE7\xA7\xB0…’
解决方案
创建数据库时指定编码方式为 utf-8:
CREATE DATABASE pomodoro CHARACTER SET utf8 COLLATE utf8_general_ci;
分析
查看数据库各类编码:
SHOW VARIABLES LIKE '%character%';
发现 character_set_database 不是 utf-8 ,执行SET character_set_database='utf8';
后重启 SQLyog 又失效了,故选择在创建数据库时指定编码方式为 utf-8。