在PHP脚本里,出现如下语句
$conn=mysql_connect($dbhost, $dbuser, $dbpass) or die("不能连接数据库 $dbhost");mysql_query("set names utf8",$conn);  
$sql="DROP DATABASE $dbname";    
mysql_query($sql);
$sql="CREATE DATABASE $dbname";  
mysql_query($sql);mysql_select_db($dbname) or die ("不能打开数据库 $dbname");
mysql_query("SET NAMES 'GBK'");我不明白的是
为什么有同时出现这两个
mysql_query("set names utf8",$conn);
mysql_query("SET NAMES 'GBK'");
的意思。

解决方案 »

  1.   

    第一个set names utf8,我怀疑根本不能执行通过。前边只是想把$dbname这个DB删除。然后重新创建。
    然后再设定客户端以及连接的字符集使用gbk。至于你这个数据库创建使用的是什么字符集,取决于系统配置文件里的database character set.
      

  2.   

    估计是你的这个数据库中的表名有什么特殊字符,所以在建库的时候用了 UTF8
    但后来又切换回 GBK.
      

  3.   

    后面都要删除该数据库,
    何苦还要转换为UTF-8?
      

  4.   

    好贴,我下了个代码老是提示没有UTF字符集,刚才发现是写成了mysql_query("set names utf-8",$conn); 
    。原来utf8才是正确的。