MySQL中文乱码问题解决方案

  1. mysql> show variables like 'character%'; (查看字符集,发现为latin1: character_set_server | latin1

2.[root@linux2018 ~]# cd /usr/share/mysql/ (进入mysql安装目录)
3. [root@linux2018 mysql]# ll (列出mysql安装目录)
4. [root@linux2018 mysql]# cp my-huge.cnf /etc/my.cnf (拷贝my-huge.cnf文件到/etc/my.cnf
5. [root@linux2018 mysql]# cd /etc (进入etc目录)
6. [root@linux2018 etc]# vim my.cnf (进入my.cnf文件,编辑)

  1. [client] (客户端项配置)
    default-character-set=utf8
    #The MySQL server

  2. [mysqld] (服务端项配置)
    character_set_server=utf8
    character_set_client=utf8
    collation-server=utf8_general_ci

  3. [mysql] (通用项配置)
    default-character-set=utf8

  4. [root@linux2018 etc]# service mysql restart (重启mysql)

  5. mysql> show create database mydb; (查看建库信息,发现为Latin1)
    +----------+-----------------------------------------------------------------+
    | mydb | CREATE DATABASE `mydb` /*!40100 DEFAULT CHARACTER SET latin1 */

  6. mysql> alter database mydb character set 'utf8'; (修改库的字符集)

  7. mysql> alter table mytbl convert to character set 'utf8'; (修改表的字符集)

总结思路:
  1. 修改配置文件,支持utf8字符集
  2. 修改已经存在的库和表的字符集,改为utf8;
  3. 已经变为乱码的数据,重新灌入或update;

你可能感兴趣的:(Java)