MYSQL中文乱码

MySQL的默认是不支持中文编码,想要支持中文编码设置编码格式为utf8或者GBK。
查看数据库使用的字符集,可以输入show variables like 'character%';
修改MYSQL的默认编码:
一、Windows环境

1、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可;
2、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭;
3、重启MySQL服务。
二、Linux环境
1、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为my.cnf即可;
2、打开my.cnf以后,在[mysqld]下面均加上default-character-set=utf8,保存并关闭;
3、重启MySQL服务(service mysql  restart),
如果设置后无法启动,报Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'错误,并且mysql的状态是start/post-start。
在第二步修改成character-set-server=utf8)。
 
 

这只是设置了MySQL数据库的编码,在使用其他工具或者是编程语言连接数据库时还需要指定编码格式,才能让MySQL知道你是使用的哪种编码;

在创建数据库和数据表时也可以设置编码格式。
如:
create database db_name(...) default character set uft8 collate utf8_general_ci;
create table table_name(...)default charset=utf8;

PS:
 当前数据库中已经存在的数据仍保留现有的编码方式,因此需要自行转码。

 

你可能感兴趣的:(mysql,中文乱码)