起因
开始使用idea19.2之前的版本时,spring bootgradle bootjar
的jar包直接运行是没有出现这个bug的,后来重做系统,装了19.2.1,升级编译后就又出现了插入中文变???
的问题。
解
网上的blog或者教程,都说在jdbc连接上动刀加上useEncode之类的,完全不必,而且测试了如果mysql没有更改,插入甚至会报错,只需要在创建数据库时
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
这段加上,重启mysql,就能正常插入中文了,而spring boot来插入仍然会出现问号,是因为idea的file encoding在19.2.1是system default,即GBK
,非UTF-8
,左上角File-setting-搜索File encoding,全部选项调成UTF-8
,然后gradle bootjar
,重新部署到服务器上,即可正常插入中文