起因
今天在公司第一次链接一个新的mysql数据库,我看到在spring里配置的jdbc里datasource.url里有配置characterEncoding=utf8。。然后就用navicat开选择UTF8链接了数据库,结果看到表里数据中文全部乱码。。。
解决办法
可以使用show variables like ‘character_set_database‘和show create table yourtablename去查看数据库和表的编码。。然后我发现我们使用的是UTF8MB4.。。然后选择对应的编码就行了。。或者选择自动编码也可以(我以前都是手动选择指定编码的)。
UTF8和UTF8MB4的区别请参考 https://blog.csdn.net/jpiverson/article/details/50041603
根据这篇文章里的说法,jdbc url都可以写UTF8的。。所以java里没问题,但是一用链接工具就GG