如何设置mysql的编码?我向表中插入的中文数据,都是问号。。。

如题所述

插入的数据乱码有很多原因:
1、你要检查一下页面的编码和数据库设置的字符集是否一样,要么都是utf8,要么都是gbk的
2、如果第一点说的两边编码是统一的,你可以在链接数据库的时候加上mysql_query("set names utf8")
3、加上之后还是不行的话,在检查你的页面编码,如果是utf8的话,请选择没有bom的utf8编码
4、以上都没问题的话,还出现乱码的话,修改mysql的配置文件,my.ini加上character-set-server=utf8,然后重启mysql服务就可以了
一般出现乱码的话,基本就是这些原因了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-29
需要设置成utf8或者gbk的编码,同时表的编码也必须是utf8或者gbk
修改方法:
修改my.cnf或者my.ini文件,在【mysqld】和【client】下分别加上character-set-server=utf8(注意,5.5版本以前是default-character-set=utf8),然后重启mysql即可,

有问题可以追问
第2个回答  2012-08-14
mysql我还不懂,不过我在mssqlsever中也遇到过这样的问题,折腾半天才解决。举个例子在创建表的时候,含有中文的我用nvarchar不用varchar,并且在含有中文的数据之前加个大写的N。如:
//建表
create table T_Preson(ID int not null,F_Name nvarchar not null,F_Age int not null)
//插入数据
insert into T_Preson(ID,F_Name,F_Age) values (1,N'小张',22);

我刚开始学数据库,不知道我的方法对你有没有用,如果回答的不对,请别喷我啊。
第3个回答  2013-08-06
首先用dos查看你数据库现在的编码格式(命令:mysql> status),然后用记事本打开my.ini文件,用记事本的替换,把你现在的编码格式替换成utf8或者gb2312就行了
相似回答