Java插入sql数据后,显示的中文不正确或乱码
Posted tao687000
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java插入sql数据后,显示的中文不正确或乱码相关的知识,希望对你有一定的参考价值。
问题描述:
最近在学用IDEA控制mysql数据库,使用的是MyBatis框架;在插入中文时,显示不正确的中文或者乱码。
问题解决:
- MySQL设置问题?
由于我不是MySQL的问题,所以跟着修改之后,在IDEA中插入数据之后,中文仍然没有正确显示。
该方法是在其他博主那边看到的,针对MySQL数据库自身数据库出现问题的情况,可以尝试更改。那么为了看看到底是不是MySQL的问题,先不要着急更改,可以先在MySQL终端插入数据看看能不能正确显示中文;可以正确显示中文的话,直接跳到第二个方法。
insert into t_user (username, password, phone, address) values ("tom","456","987","临海");
select * from t_user;
在终端打开MySQL,查看语言设置是否为utf-8:
show variables like 'character%';
可以看到并不全部为utf-8,所以操作设置为utf-8:
charset utf8;
- IDEA设置问题?
File→Settings...→Editor→File Encodings→Global Encoding、Properties Files;将这两个(即下图4所标的1和3)设置成UTF-8。
当使用配置文件+接口的方式,通过代理自动生成DAO时,图4的2也需要设置成UTF-8,且Path里面的接口,后面Encoding也需要改为UTF-8。
设置之后,再用IDEA插入数据,可以看到正确显示的中文,撒花~~~
希望有所帮助,欢迎讨论,共同进步!
以上是关于Java插入sql数据后,显示的中文不正确或乱码的主要内容,如果未能解决你的问题,请参考以下文章
在SQLServer中使用SQL语句插入数据出现乱码或问号的解决方法