中文乱码问题真的很常见,解决起来也非常闹心,在历经两天终于解决了毕设中的数据库乱码问题后,决定总结网上众多大佬的方法,便于以后排查。
(一)IDEA自身编码全部改为utf-8
1.File->Settings->Editor->File Encodings
2.将项目中的.idea文件夹中的encodings.xml文件中的编码格式改为uft-8
3.File->Settings->Build,Execution,Deployment -> Compiler -> Java Compiler
设置 Additional command line parameters选项为 -encoding utf-8(这一条真的有用!)
4.IDEA中的jdk问题:
解决方案:在IntelliJ IDEA 2016.1\bin\idea64.exe.vmoptions
IntelliJ IDEA 2016.1\bin\idea.exe.vmoptions 两个文件里头都添加
-Duser.country=EN
-Duser.language=us
5.console问题,无法输出utf-8编码
在 IntelliJ IDEA 2016.1\bin\idea64.exe.vmoptions
IntelliJ IDEA 2016.1\bin\idea.exe.vmoptions
都添加 -Dfile.encoding=UTF-8
(二)使用jdbc连接时出现乱码
解决方法:在所有涉及到jdbc声明数据库的地方都加入encoding语句
如:spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true (如果&不正确,用& )
jdbc:mysql://localhost:3306/mydb?serverTimezone=GMT&useUnicode=true&characterEncoding=utf8"
(三)数据库问题
1.创建数据库的时候就对编码进行声明 如:
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2.或利用navicat等软件操作数据库
3.修改my.ini
文件内添加两行
default-character-set=utf8
character-set-server=utf8
以上是我搜集到的排查思路,谢谢网络上各位大佬!
参考链接:
使用idea 操作数据库时出现的 中文乱码问题 - 蒙古码农 - 博客园 (cnblogs.com)
最全idea java连接mysql数据库中文乱码解决方案_无形风的博客-CSDN博客_idea连接数据库乱码