举个例子:
在每次创建表的时候都在最后加上 character set = utf8 就可以很好的支持中文。
2,修改已经有的table的编码
当使用默认编码创建了一个table的时候,是不能支持中文的,这时候使用如下语句对table_name进行修改:
此后再往这个table插入中文的时候,就可以正常存储和读取了,但不知道为什么之前的乱码还是不能纠正,只能新插入的数据没有问题。
[注意] 我google了一下,有些地方说这个命令也行,但是我测试以后并不行
alter table table_name charset=utf8 #这个语句并没有让table_name支持中文
1. 安装mysql的时候,会选择默认的字符集,请选择utf-8,因为utf-8才是王道. 2. 如果你不想改字符集,那么建议你把数据表的字符集改为utf-8或者是gbk,建议utf-8. 3. 如果你不介意数据库乱码,在取出数据的时候你可以加上 mysql_query("set names gbk")这样就可以将乱码的中文正确显示. 4. 要避免乱码,你一定要保证字符集的一致性.从你的数据库,数据表,以及你输出的页面.尽量使用utf-8. 如果还没有解决你的问题,你可以自己搜索解决 关键字 mysql 字符集 或者是 mysql 乱码. 很多答案.一 在安装数据库时就设定字符集编码为utf8的环境下1.当前字符集编码为:
Server characterset:utf8
Db characterset:utf8
Client characterset:utf8
Conn. characterset:utf8
下创建数据库
(1)插入中文数据, *** 作不能成功
(2)修改字符集编码为:
Server characterset:utf8
Db characterset: utf8
Client characterset:gbk
Conn. characterset:gbk
插入中文数据,显示正常
二 在安装数据库时就设定字符集编码为gbk的环境下
1.当前 字符集编码是:
Server characterset:gbk
Db characterset:gbk
Client characterset: gbk
Conn. characterset: gbk
下创建数据
插入中文数据, *** 作正常,显示正常
2.当前字符集编码为utf8
Server characterset: gbk
Db characterset:utf8
Client characterset: utf8
Conn. characterset: utf8
3.当前字符集编码为utf8
Server characterset:gbk
Db characterset:gbk
Client characterset: utf8
Conn. characterset: utf8
插入中文数据, *** 作不能执行
结论:要想能向数据库正常插入中文,必须满足以下条件:
1.要把字符集设定为能支持中文的gbk或则utf8;
2.把数据库的Client Characterset和Conn. Characterset的字符集都设定为gbk;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)