配置说明

mysql5提供了以下几个设置字符集的系统变量:

character_set_client 客户端字符集

character_set_connection 客户端与服务器端连接采用的字符集

character_set_results SELECT查询返回数据的字符集

character_set_database 数据库采用的字符集

乱码问题一般是由于以上几个变量设置错误照成的,所以只要理解这几个变量,就可以告别乱码了。

使用上述变量,要理解这个核心思想:

character_set_client、character_set_connection、character_set_database编码要一致;

character_set_results则保证与SELECT返回的结果与当前程序的编码一致。

我们可以在程序中使用 set names来同时设置character_set_client, character_set_connection, character_set_results这三个系统变量。

例如set names 'utf8'等同于 :

set character_set_client = ‘utf8’

set character_set_connection = ‘utf8’

set character_set_results = ‘utf8’

一般情况下,当数据库与数据库表的字符集为utf8,我们再在程序里设置set names 'utf8’命令,这样就能保证无乱码了,但是,这里还要注意character_set_results变量的值,character_set_results的字符值是用来显示返回给用户的编码的。

例如,你的数据库(character_set_database)用的是utf8的字符集,那么你就要保证character_set_client,character_set_connection也是utf8的字符集。而你的程序也许采用的并不是utf8,比如你的程序用的是gbk,那么你若把character_set_results也设置为utf8的话就会出现乱码问题。此时你应该把character_set_results设置为gbk。这样就能保证数据库返回的结果与你的程序的编码一致。

全局设置,重启失效

设置全局的数据库字符编码,即使基于整个MySQL服务的,当重启MySQL服务的时候,编码依然会变为原来的字符编码

set global character_set_database=gbk;

set global character_ser_server=gbk;

show variables like ‘%char%’;

永久设置

设置永久的字符编码,即需要在配置文件中修改数据库的字符编码

编辑 /etc/my.cnf,

在里面加入,已经有[XXX]的,在里面直接加入即可。

[mysqld]

character-set-server=utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

然后重启数据库即可,service mysql restart.

参考链接:
https://blog.csdn.net/zhaojunjie_dream/article/details/79979672
https://www.cnblogs.com/xbq8080/p/6572133.html

设置mysql的字符编码解决中文乱码问题相关推荐

  1. 前端网页、php与mysql数据库字符编码(解决中文等乱码问题

    web开发中经常涉及前端网页--php--mysql之间的数据交互,当数据只有英文时通常不会有什么问题,但一旦涉及中文,三个地方的某一处字符编码不一致(如,网页使用的时gbk而mysql使用utf-8 ...

  2. 设置MySQL的字符编码

    前言 这里我已经将MySQL的数据库编码设置为UTF-8,所以下面现实的都是UTF-8. 设置MySQL数据库的编码方式有三种,分别是基于session会话的.基于全局gloable的.永久性改变的. ...

  3. mysql 编码格式_设置MySQL的字符编码

    前言 这里我已经将MySQL的数据库编码设置为UTF-8,所以下面现实的都是UTF-8. 设置MySQL数据库的编码方式有三种,分别是基于session会话的.基于全局gloable的.永久性改变的. ...

  4. 利用过滤器处理字符,解决中文乱码问题

    1.创建字符编码过滤器对象,名称为CharactorFilter类.该类实现了javax.servlet.Filter,并在都Filter()方法中对请求中的字符编码格式进行设置.代码如下: pack ...

  5. mac终端下修改MySQL的编码格式以解决中文乱码问题--找不到my-default.cnf及my.cnf

    查看一下support-files文件夹(Finder下"前往文件夹";路径:/usr/local/mysql/support-files) 里面有没有my-default.cnf ...

  6. Cmder 设置默认打开目录、解决中文乱码

    win + alt + p //打开设置 选择Startup-Task,修改{cmd::Cmder}项,把: *cmd /k "%ConEmuDir%\..\init.bat" - ...

  7. Java 按行读写文件(解决中文乱码)

    import java.io.*;public class EmployeeTest{EmployeeTest(){}// 按行读取文件public void readFile01(){try {Fi ...

  8. 通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0......

    原文:[原创]通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 'incorrect string value: '\xF0... 这篇blog重点在解决问题,如果你对 ...

  9. MYSQL数据库字符编码设置

    mysql字符集编码设置与查看命令 转自http://www.111cn.net/database/mysql/55781.htm 在mysql对字符编码的查看我们使用SHOW VARIABLES L ...

最新文章

  1. 正在写一个VC的聊天软件
  2. vue中比较完美请求的栗子(使用 axios 访问 API)
  3. 2015年3月29号日报
  4. windows 配置 Gitlab、Gitee(码云) 的git开发环境
  5. POJ-2754 Similarity of necklaces 2 区间取下界操作+DP
  6. 百度大脑全面解析如何通过NLP、CV和ASR等技术将企业服务智能化
  7. VMware 虚拟机
  8. LINNAEUS:生物医学文献的物种名称识别系统
  9. 简单工厂,工厂方法,抽象工厂思想-手机时代的变迁
  10. android手机截图,安卓手机怎么截屏,安卓手机怎么截屏幕图OPPO
  11. c fread 快读 详解_热量计算公式及例题详解
  12. 由浪潮8控存储登顶SPC-1所想,存储系统一个长期被忽略的指标
  13. matlab牛顿法求区间根程序,MATLAB用二分法、不动点迭代法及Newton迭代(切线)法求非线性方程的根...
  14. 淘宝长辈模式技术实践万字总结
  15. php 图片上加文字,php使用GD库实现图片上添加文字的方法(代码)
  16. Arduino开发板esp32
  17. 销量不敌理想、小鹏,蔚来掉队了?
  18. java性别分类汇总,excel表格数据男女分类汇总-在Excel中,对数据清单进行“按性别分类汇总出男女......
  19. 绩效管理周期分哪些阶段?
  20. 让iOS开发变得更有效率-分类、工具类

热门文章

  1. 总谐波失真80_谐波平衡法仿真(ADS)
  2. 语音情感识别----语音特征集之eGeMAPS,ComParE,09IS,BoAW
  3. 嵌入式系统笔录(1)-嵌入式系统内核
  4. 分子生物学-共价键基础
  5. 【机器学习】使用 Python 构建电影推荐系统
  6. 【算法漫画】什么是红黑树?
  7. 霸榜COCO和Cityscapes!南理工CMU提出极化自注意力,更精细的双重注意力建模结构
  8. 对比表示学习必知的几种训练目标
  9. 高并发IM系统架构优化实践
  10. mongoDB Liunx下安装及配置