解决mysql5.0,Navicat for MySQL,IntelliJ IDEA之间中文乱码

使用软件版本

jdk-8u171-windows-x64

ideaIU-2021.1.3

mysql-essential-5.0.87-win32

navicat8_mysql_cs

这个问题我调试了好久,网上的方法基本上都试过了,终于是解决了。

三个地方结果都不一样。

方法一

首先大家可以尝试下面这种方法:

如何解决mysql表输入中文出现问号的问题_Mysql_脚本之家 (jb51.net)icon-default.png?t=N7T8https://www.jb51.net/database/314758xzq.htm

方法二

但是我这里还是没有解决,然后尝试下面这种方法

IDEA 与 Navicat 互相中文乱码(数据库、IDEA设置都是 UTF-8)_在idea表单中提交数据navicat显示乱码-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_44111597/article/details/113499720

IDEA中连接MySQL数据库查看表信息时可能出现中文乱码问题的终极解决方案 - 烤盐咸鱼 - 博客园 (cnblogs.com)icon-default.png?t=N7T8https://www.cnblogs.com/A-Lynn/articles/17260096.html

网上基本上就是这种了,然后将mysql设置成utf8后,插入中文都显示失败了,但是在navicat和idea插入并没有问题,就是会显示乱码。

方法三

最全idea java连接mysql数据库中文乱码解决方案_为什么mysql的数据库导入idea是乱码-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/xukaiqiang123/article/details/108802118还是修改配置文件,修改idea的配置文件后,还是会乱码,但是可以解决tocat控制台乱码的问题。

我的解决

总结上述就是对于idea,修改file Encodings里面的编码,全部换成utf-8,对配置文件进行新增-Dfile.encoding=UTF-8。

对于mysql的就是修改配置文件my.ini,对于navicat就是修改连接属性,如果上诉全部都试过了,无法解决,可以试一下我的方法。

ERROR 1366 (HY000):Incorrect string value解决方案_error 1366 (hy000): incorrect string value-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/word_joke/article/details/84035375我最开始是可以在命令行直接用mysql插入中文,就是设置了编码把全部的latin1换成了utf8,结果中文也插入不了了,然后上课老师显示在navicat里面插入中文,然后用idea读取数据并不会乱码,这个是因为我第一次打开navicat的时候显示乱码的时候修改了navicat的属性,然后导致现在修改navicat中的乱码文中文,idea也不会显示中文,因为忘记了之前怎么设置了,所以我直接卸载,然后重新安装了navicat软件,现在显示navicat和mysql之间是乱码的,但是和idea之间是正常的了。

现在发现是勾选“使用MySQL字符集”,idea和navicat就同步了。

 对于mysql和navicat的同步,我是根据报错信息来解决的,将编码修改成gbk格式。

首先要设置my.ini文件的权限,没有权限的话,下次登录又是乱码的情况。

如果没有修改过字符集结果编码格式应该是:

Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 147
Server version: 5.0.87-community-nt MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set character_set_client='gbk';
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_connection='gbk';
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_results='gbk';
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_server='gbk';
Query OK, 0 rows affected (0.00 sec)

mysql> set character_set_database='gbk';
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'char%';
+--------------------------+---------------------------------------------------------------+
| Variable_name            | Value                                                         |
+--------------------------+---------------------------------------------------------------+
| character_set_client     | gbk                                                           |
| character_set_connection | gbk                                                           |
| character_set_database   | gbk                                                           |
| character_set_filesystem | binary                                                        |
| character_set_results    | gbk                                                           |
| character_set_server     | gbk                                                           |
| character_set_system     | utf8                                                          |
| character_sets_dir       | C:\Program Files (x86)\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+---------------------------------------------------------------+
8 rows in set (0.00 sec)

set character_set_client='gbk';

set character_set_connection='gbk';

set character_set_results='gbk';

set character_set_server='gbk';

set character_set_database='gbk';

show variables like 'char%';

 

 发现最后一行是所有都是乱码的,重新插入一行数据测试一下。

 发现就莫名其妙解决了,但是mysql采用的是gbk编码,在浏览器显示会不会出现乱码,这里打开tocat看一下,发现也没有问题。

那这到这里结束了,如果用前面的方法可以解决就用前面的方法,因为我也不知道按照我的修改后面会发生上面问题,只要是我看到网上写的都大差不差,但是都不能解决我出现的问题,所以只能自己摸索出一种解决方法。

  • 17
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

封奚泽优

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值