CREATE TABLE `white_user` (
  `user_nid` bigint(20) NOT NULL,
  `spam_type` varchar(50) NOT NULL, 
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8
html 编码 <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
php编码 header("content-type:text/html; charset=gbk");   //设置php编码
数据库用php操作,每次查询和插入前都会执行,set names gbk,可是我的表明明是utf8的,不管查询还是插入都不乱码,这是为什么呢

解决方案 »

  1.   

    看下贴中的解释。 set names gbk后MYSQL会帮你做转换。只要你想办法理解 set names gbk,实质上做了什么就明白了。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    要是楼主不set names gbk的话,估计显示会是乱码;(刚试了下,我set names utf8 中文显示乱码了).其实知道他们的区别和set names 的效果就好了;这里说的比较详细:http://wenku.baidu.com/view/0cae2f1fc5da50e2524d7ffc.html 
      

  3.   


    楼上几位说的对,你设置了 set names gbk 之后,mysql后台自动会帮你把utf8的数据格式转换成gbk格式的。