MySQL5.x版本乱码问题解决方案

 更新时间:2020年09月18日 14:53:04   作者:返回主页Chsoul''S Blog  
这篇文章主要介绍了MySQL5.x版本乱码问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

MySQL是一款常用的开源数据库软件,但是对于初次使用者好像并不是太友好,MySQL5.x的版本中默认字符集是latin1也就是我们所知道的ISO-8859-1字符集,这个字符集编码并没有包含汉字,所以我们在使用的时候汉字会出现乱码情况,通过修改数据库默认字符集即可解决。

进入MySQL命令行:

mysql> show variables like '%colla%';
+----------------------+-------------------+
| Variable_name    | Value       |
+----------------------+-------------------+
| collation_connection | gbk_chinese_ci  |
| collation_database  | latin1_swedish_ci |
| collation_server   | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set, 1 warning (0.00 sec)

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

可以看到现在默认的字符集是latin1

找到MySQL的配置文件,windows中的配置文件是my.ini,我的电脑位于C:\ProgramData\MySQL\MySQL Server 5.7,Linux中需要修改的是my.conf文件,具体路径根据你的实际安装位置,分别修改以下节点中的配置:

我使用的5.7中[client]节点的配置需要新增,其余两个节点[mysql]、[mysql]需要打开注释并修改为utf8.

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysql]
character_set_server=utf8

然后重启MySQL

net stop mysql
net start mysql

再次查看字符集,都已经被修改为utf8字符集

mysql> show variables like '%colla%';
+----------------------+-----------------+
| Variable_name    | Value      |
+----------------------+-----------------+
| collation_connection | gbk_chinese_ci |
| collation_database  | utf8_general_ci |
| collation_server   | utf8_general_ci |
+----------------------+-----------------+
3 rows in set, 1 warning (0.00 sec)

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

为保证编码一致性还可以在创建数据库或者表的时候指定字符集,并在连接串后面指定连接参数:

?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • MySQL如何查看数据库连接数

    MySQL如何查看数据库连接数

    本文介绍了在MySQL中查看数据库连接数的多种方法,包括使用SHOWSTATUS命令、查询information_schema数据库、使用SHOWPROCESSLIST命令、查看最大连接数以及使用性能模式,每个方法都有详细的示例和注意事项,帮助你有效地监控和管理数据库连接
    2024-11-11
  • MySQL常用分库分表方案汇总

    MySQL常用分库分表方案汇总

    本文主要介绍了MySQL常用分库分表方案汇总,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 如何使用mysql完成excel中的数据生成

    如何使用mysql完成excel中的数据生成

    这篇文章主要介绍了如何使用mysql完成excel中的数据生成的相关资料,需要的朋友可以参考下
    2017-11-11
  • MySQL避免插入重复记录的方法

    MySQL避免插入重复记录的方法

    这篇文章主要介绍了MySQL避免插入重复记录的方法,需要的朋友可以参考下
    2023-10-10
  • mysql 5.7.25 安装配置方法图文教程

    mysql 5.7.25 安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 5.7.25 安装配置方法图文教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 详解MySQL中Order By排序和filesort排序的原理及实现

    详解MySQL中Order By排序和filesort排序的原理及实现

    这篇文章主要为大家详细介绍了MySQL的Order By排序的底层原理与filesort排序,以及排序优化手段,文中的示例代码讲解详细,感兴趣的小编可以跟随小编一起学习一下
    2022-08-08
  • MySQL分类排名和分组TOP N实例详解

    MySQL分类排名和分组TOP N实例详解

    大家好,本篇文章主要讲的是MySQL分类排名和分组TOP N实例详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Navicat中如何导入数据库SQL脚本并执行

    Navicat中如何导入数据库SQL脚本并执行

    这篇文章主要给大家介绍了关于Navicat中如何导入数据库SQL脚本并执行的相关资料,Navicat是一个强大的MySQL数据库管理和开发工具,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • navicat不能创建函数解决方法分享

    navicat不能创建函数解决方法分享

    这篇文章主要介绍了navicat不能创建函数解决方法分享,小编觉得还是挺不错的,这里分享给大家,供需要的朋友参考。
    2017-10-10
  • mysql 查询当天、本周,本月,上一个月的数据

    mysql 查询当天、本周,本月,上一个月的数据

    这篇文章主要介绍了mysql 查询当天、本周,本月,上一个月的数据的sql代码,在文中还给大家提到了mysql如何查询当天信息,具体内容详情大家参考下本文
    2018-01-01

最新评论