Mysql插入中文乱码问题解决

 

出现原因:

出现乱码的原因多数情况下是由于mysql安装时没有选择默认编码格式,软件默认编码格式为拉丁语,所以导致各种乱码。

 

另外要搞明白这点,UTF-8是通用编码格式,是国际通用标准编码格式,是可以兼容GBKgb2312格式的;GBK只是是中文编码格式,有的同学出现乱码后,着急将UTF-8编码格式修改为GBK格式,这是无用徒劳的。

 

解决办法:

目前解决Mysql使用中的乱码问题大致有三种解决办法:

 

1、在JDBC链接字符串中添加如下代码:

jdbc:mysql://localhost:3306/login?useUnicode=true&characterEncoding=utf-8;

 

 2、有的同学通过修改上述链接字符串依然无法解决问题,请按照如下方法尝试,下边的代码请打开mysql可视化软件(比如navicat),在对应的数据库下新建查询然后输入:

复制代码
show variables like '%char%';

set names utf8;
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database =utf8;
set character_set_filesystem=utf8;
set character_set_filesystem=utf8;
set character_set_results =utf8;
set character_set_server =utf8;
复制代码

 

 3、通过上述2步依然无法解决问题,那么请尝试下边的终极大招:

 若你的电脑已安装Mysql环境变量,直接进入cmd控制台,输入mysql命令后进入mysql的操作目录【如果没有安装环境变量,请手动进入到mysql的安装目录】,执行show variables like 'character_set_%'; 命令,可以看到如下界面,显示你的mysql当前的各种编码格式都不统一:

 

 接下来我们需要把默认的这几种编码格式做修改,打开Mysql的安装目录,找到 my.ini 文件,添加如下的代码:

[client]
default-character-set=UTF-8
[mysqld]
character-set-server=UTF-8
[mysql]
default-character-set=UTF-8

 

保存后,重启Mysql服务,再次输入show variables like 'character_set_%';命令可以看到Mysql默认的几种编码格式都改成了UTF-8。

 

 

补充说明:很多同学在使用第三步的方法时,发现无法打开mysql命令,修改my.ini文件后服务又无法重启,没法解决?请看下边的步骤:

进入你的mysql安装目录,找到 MySQLInstanceConfig.exe这个文件,运行它,一路点击next,直到“please select the default charset”页面,勾选第三个选项,设置编码格式为utf-8,然后一路next,完了后Mysql会自动重启服务,再次通过JDBC插入中文,就不会乱码了!

 

 

 

 

 

、、、

posted @   i潘小潘  阅读(857)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示