本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • MySQL
  • 【MySQL运维】MySQL字符集设置教程

【MySQL运维】MySQL字符集设置教程

发布:TangLu2020-2-9 15:24分类: MySQL 标签: mysql

MySQL在编译安装的时候是可以指定默认字符集的,如果设置过默认字符集后创建的数据库都会自动继承该字符集。在生产环境中常常根据程序的需要来选定字符集,在MySQL中如果没有配置过字符集,默认是latin1。这种字符集显示中文字符有可能出现乱码问题。


一、查看MySQL所支持的字符集以及当前所使用的字符集

mysql > show character set;  #查看当前服务支持的字符集
mysql > show variables like "character%";


二、修改字符集解决MySQL中文乱码的办法

方法1使用set names语句临时修改字符集

mysql > show create database databasename
mysql > show create table tablename
mysql > set names utf8mb4;


方法2导入数据库文件时指定默认字符集

mysql -uroot -p --default-character-set=latin1 testdata <testdata.sql


方法3在创建数据库或者表的时候指定字符集和校对规则。这样数据库里的表就不用单独设置了,会继承库的设置

mysql > CREATTE DATABASE databasename DEFAULT CHARACTER SET UTF8 COLLATE utf8_general_ci; #设置字符集的写法有很多种


方法4在my.cnf配置文件里指定默认字符集(永久生效,可以把当前全局设置一起修改避免重启

vi /etc/my.cnf
[client]  #客户端字符集
default-character-set=utf8mb4  
[mysqld]  #服务端字符集
# default-character-set=latin1  #5.1之前版本
character-set-server=utf8mb4  #utf8mb4是utf8的升级
skip-character-set-client-handshake=1  #客户端也使用服务端的字符集,不用再单独为客户端做设置
mysql > set global character_set_server=utf8mb4;  #全局临时设置


保证不乱码的主要思想:客户端与服务器端字符集统一,库表字符集统一,浏览器字符集统一,程序字符集统一

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《【MySQL运维】MySQL字符集设置教程
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-237.html  [生成短网址]

已有 0/1497 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~