mysql中文乱码
lmysql有六处使用了字符集,分别为:client、connection、database、results、server、system。
•client是客户端使用的字符集。
•connection是连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型就按照服务器端默认的字符集设置。
•database是数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。
•results是数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。
•server是服务器安装时指定的默认字符集设定。
•system是数据库系统使用的字符集设定。
•
l查看和修改数据库字符集
•showvariables like 'character%';
•setcharacter_set_results=gbk;
•setcharacter_set_client=gbk;
这个设置是临时的 建议修改以对mysql安装目录下的my.ini文件中对client端的default-character-set=gbk修改
二 使用XAMPP组件安装的Mysql
分别运行:
show variables like "%char%";
show variables like 'collation_%';
来查看mysql默认编码和链接编码设置,基本都是latin1编码形式,而我要修改成UTF-8编码。步骤如下:
C:\xampp\mysql\bin下修改my.ini
添加以下语句
[client]
default_character_set=utf8
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
[mysql]
default_character_set=utf8
重启mysql服务,再次运行
show variables like "%char%";
show variables like 'collation_%';
基本都改为了utf8编码,不过collation_connection = latin1_swedish_ci 确实很顽固,没找到修改的方法,只能以一种临时方案解决了:
运行:SET NAMES 'utf8';
再次运行:show variables like 'collation_%';查看,不出意外的话,应该都是utf8了。
show variables like "%char%";
show variables like 'collation_%';
来查看mysql默认编码和链接编码设置,基本都是latin1编码形式,而我要修改成UTF-8编码。步骤如下:
C:\xampp\mysql\bin下修改my.ini
添加以下语句
[client]
default_character_set=utf8
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
[mysql]
default_character_set=utf8
重启mysql服务,再次运行
show variables like "%char%";
show variables like 'collation_%';
基本都改为了utf8编码,不过collation_connection = latin1_swedish_ci 确实很顽固,没找到修改的方法,只能以一种临时方案解决了:
运行:SET NAMES 'utf8';
再次运行:show variables like 'collation_%';查看,不出意外的话,应该都是utf8了。