乱码问题是因为,数据传输过程中,用不同的方式转码造成的。所以解决方法,统一编码即可。
1、php页面上:header("content-type:text/html;charset=gbk");
2、修改数据库之前设置编码:mysql_query("set names gbk");
3、设置mysql数据库库中表和字段的编码:
SET character_set_client='gbk';
SET character_set_connection='gbk';
SET character_set_results='gbk';
alter table user change name name varchar(10) character set gbkcollate
gbk_chinese_ci not null;
这样统一了编码之后,数据库和页面上面的中文就没有乱码问题了。
character set和collation
1、character set, 即字符集。
2、 collation, 即比对方法。比如 简体中文,繁体中文,英文什麽的。
utf8_general_ci/cs:ci是case insensitive的缩写,cs是case sensitive的缩写。表明是否对大小写敏感。