一、登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

character_set_database和character_set_server的默认字符集还是latin1。

二、最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):

1、在[client]字段里加入default-character-set=utf8,如下:

[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8

2、在[mysqld]字段里加入character-set-server=utf8,如下:

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8

3、在[mysql]字段里加入default-character-set=utf8,如下:

[mysql]
no-auto-rehash
default-character-set=utf8

修改完成后,service mysql restart重启mysql服务就生效。注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。

使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码全已改成utf8。

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+


4、如果上面的都修改了还乱码,那剩下问题就一定在connection连接层上。解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面):
SET NAMES 'utf8';

它相当于下面的三句指令:

SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;


网上很多其他方法不能彻底解决这个问题,这个可以完美解决!

附注:MySQL数据库启动,关闭,重启:

开始 sudo /etc/init.d/mysql start

停止 sudo /etc/init.d/mysql stop

重启 sudo /etc/init.d/mysql restart

转载于:https://www.cnblogs.com/zknublx/p/6825978.html

ubuntu MySQL数据库输入中文乱码 解决方案相关推荐

  1. mysql设置数据库显示汉字_在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 . 其实,只要保证cmd客户端和MySQL两者编码一致即可. ...

  2. mysql数据库 中文乱码_在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 其实,只要保证cmd客户端和MySQL两者编码一致即可. 但现 ...

  3. mysql utf8转gbk cmd_转:在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 其实,只要保证cmd客户端和MySQL两者编码一致即可. 但现 ...

  4. hibernate插入Mysql数据库出现中文乱码情况从这5个方面解决

    因为有了新电脑所以又要解决乱码问题,在网上找帖子很是头疼,还是自己总结一下比较好. hibernate插入Mysql数据库出现中文乱码情况从这几个方面解决:有了这几方面以后使用mysql的乱码问题就不 ...

  5. win7和mysql乱码,windows本地mysql数据库存入中文乱码

    windows本地mysql数据库存入中文乱码 作者:PHPYuan 时间:2018-07-23 03:41:20 出现的问题: 我这页面存中文到数据库会乱码 我打了断点 中文是传到后台dao层的 然 ...

  6. mybatis mysql 中文乱码_mybatis连接mysql数据库插入中文乱码

    对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的 ...

  7. 数据库中文mybatis连接mysql数据库插入中文乱码

    文章结束给大家来个程序员笑话:[M] 对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目 ...

  8. mysql 中文乱码 mybatis_mybatis连接mysql数据库插入中文乱码

    对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,建库的时候,选择UTF-8字符集.我试过 ...

  9. mysql latin1 utf8 java_Java读写以latin1编码存储以UTF-8输出的MySQL数据库(中文乱码)...

    绝大多数情况下,一个项目中,都是使用同一套编码.如,全部使用UTF-8或者GBK. 但是当涉及到多个项目合并.新手加入等情况时,不可避免出现使用多套编码的情况.所有字符串都是英文的情况还好,若是出现了 ...

  10. SSH框架+mysql+tomcat 服务器 中文乱码解决方案

    第一: 在安装mysql数据库时要修改默认的字符集为utf-8 或连接MYSQL时配置URL如下: jdbc:mysql://localhost:3306/test?useUnicode=true&a ...

最新文章

  1. 3.2 表达式的类别与类型
  2. 520戏精上身!纸短情长,一句顶一万句的花式告白语抱走不谢!
  3. 跟vczh看实例学编译原理——二:实现Tinymoe的词法分析
  4. Linux之解析鼠标input事件数据
  5. Python 序列操作之切片
  6. 三层交换机有什么优势?
  7. 【mysql】Innodb三大特性之double write
  8. 简述openstack
  9. Spring Boot基础学习笔记10:配置国际化页面
  10. 扎克伯格拒绝参加加拿大议会 或因藐视罪名被拘留
  11. 添加 XmlDocument 元素 和 属性
  12. PPT中的文字怎么填充为图片?学会这个方法少走不少弯路
  13. Tiny6410+K9GAG08U0E
  14. 单页面网站如何高效做SEO优化?
  15. 2021SC@SDUSC山东大学软件学院软件工程应用与实践--Ebiten代码分析 源码分析(三)
  16. 电脑突然连不上WIFI和以太网
  17. 关于卷积核大小的论文与思路
  18. passive-interface OSPF 的被动接口
  19. 讨论 | AR 远程协同和传统音视频通话有什么区别?
  20. USB设备驱动开发之远程访问USB设备(一USB设备数据采集端)

热门文章

  1. rdesktop连接windows远程桌面详解
  2. Caffe学习1-图像识别与数据可视化
  3. 计算机视觉与深度学习应用关系
  4. 深度学习(二十一)基于FCN的图像语义分割-CVPR 2015
  5. centos7全盘备份到本地_centos7磁盘备份和还原
  6. Java 多维数组 三维数组 初始化 赋值 打印
  7. C++ 友元函数 友元类 friend class
  8. chainmaker操作笔记
  9. 当前读和快照读是什么 区别
  10. ubuntu 卸载openjdk 安装java8 安装之后提示Command ‘java‘ not found