举个例子:
在每次创建表的时候都在最后加上 character set = utf8 就可以很好的支持中文。
2,修改已经有的table的编码
当使用默认编码创建了一个table的时候,是不能支持中文的,这时候使用如下语句对table_name进行修改:
此后再往这个table插入中文的时候,就可以正常存储和读取了,但不知道为什么之前的乱码还是不能纠正,只能新插入的数据没有问题。
[注意] 我google了一下,有些地方说这个命令也行,但是我测试以后并不行
alter table table_name charset=utf8 #这个语句并没有让table_name支持中文
一 在安装数据库时就设定字符集编码为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条)