MySQL会出现中文乱码的原因不外乎下列几点:
1.server本身设定问题,例如还停留在latin1
2.table的语系设定问题(包含character与collation)
3.客户端程式(例如php)的连线语系设定问题
强烈建议使用utf8!!!!
utf8可以兼容世界上所有字符!!!!
1.server本身设定问题,例如还停留在latin1
2.table的语系设定问题(包含character与collation)
3.客户端程式(例如php)的连线语系设定问题
强烈建议使用utf8!!!!
utf8可以兼容世界上所有字符!!!!
进入mysql,输入status命令查看状态如下:
设定数据库服务器的默认字符集:
vi /etc/mysql/my.cnf
添加或者修改至:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
重启mysql
/etc/init.d/mysql restart
查看某个库当前的默认字符集:
show create database database_name;
修改某个库默认字符集:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
创建时指定字符集的方式与查看时生成的信息类似。
查看某个表当前的编码格式:
show create table table_name;
修改某个表的默认字符集:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
创建时指定字符集的方式与查看时生成的信息类似。