MySQL乱码问题解决步骤详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cx55887/article/details/84131536

在工作学习中遇到出现中文乱码是一件非常让人头疼的一件事,我也深受其害,在这里我整理了一下在使用mysql时候出现乱码的解决步骤,大家共同学习,共同进步。

一、确认各环节的字符集

首先来确定一下各个环节的字符集是否一致,字符集不一致导致的乱码问题最为常见。
1. 确认当前Xshell连接linux的绘画所使用的字符集类型
在这里插入图片描述
2. 确认当前linux系统的字符集

 # locale:查看当前系统的字符集
   # locale -a:查看系统全部可用的字符集
   # locale -a | grep zh_CN:查看中文类型的字符集
   和字符集相关的变量:LANG
   # echo $LANG

   临时修改linux字符集
   # export LANG=zh_CN.utf8

   永久修改linux字符集
   (1) echo "export LANG=zh_CN.utf8" > ~/.bashrc
   (2) CentOS7修改文件 /etc/locale.conf
    CentOS6修改文件 /etc/sysconfig/i18n

3. 确认和mysql相关的字符集

mysql> status    <<<查看各种字符集信息

    Server characterset:    utf8
    Db characterset:    utf8
    Client characterset:    utf8
    Conn. characterset: utf8
    #查看创建表tb2的时候所使用的字符集
   mysql> show create table tb2\G
    #查看创建库db2的时候所使用的字符集
   mysql> show create database db2\G

   #修改mysql server字符集类型
    在my.cnf中的mysqld段添加 character-set-server = utf8

   修改一个表的字符集
    ALTER TABLE tb1 CONVERT TO CHARACTER SET ;

二、修改一个数据库的字符集

修改数据库的字符集我一般是先将这个数据库中的内容备份出来,然后新建一个数据库,显得数据库使用期望使用的字符集类型,最后将备份数据导入到这个新的数据库中。
1. 备份原有数据

# mysqldump --default-character-set=gbk -uroot -p123 -B db4 --tables tb4>/home/old.sql
    【可以用vim查看其中是否有乱码】

2. 修改备份文件中的数据字符集类型

# iconv -t utf-8 -f gbk -c /home/old.sql >/home/new.sql
    【可以用vim查看其中是否有乱码】

3. 用新的字符集仙剑一个数据库,并将备份文件导入进去

mysql> create database db5 character set utf8;
# mysql -uroot -p123 db5</home/new.sql

------做运维之前很矫情的小年轻-----

猜你喜欢

转载自blog.csdn.net/cx55887/article/details/84131536
今日推荐