mysql_connect('localhost','root','xxxxxxx');
mysql_select_db('abc');
mysql_query('set names utf8');   <---

解决方案 »

  1.   

    set names utf8
    用在连接数据库后
    字符集问题一句话两句话说不清。
    如查存取的客户端均是 utf8,则用set names utf8
    如查存取客户端是GB3212,则用set names GB3212,MYSQL仍可用uTF8
    实质上进行了转换GB3212转成XX再转成GB3212或utf8.你从别的库导入是不行的(因为编码不一样,不认),导入时应设原字符集,其次应重设整理(校验)才能认
      

  2.   

    你先从原编码的数据库用 phpMyAdmin 导出,格式选择 utf-8,用ultraedit检查导出的sql文件格式为 U8-DOS(或U8-UNIX),再创建新数据库,字符集设置为UTF-8,字段的整理字符集也为UTF-8,再导入UTF-8格式的 sql
      

  3.   

    我在设置字符集为utf8时,系统会自动先一个utf8_bin为整理字符集,这个utf8_bin也可以吗?
      

  4.   

    那还有一个问题,就是当把数据取出来时,页面上的文字字符集也需要用UTF8格式吗?也就是<meta http-equiv="Content-Type" content="text/html; charset=utf-8">是不是用
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    就会显示乱码呀?我现在搞了乱来乱去,我都不知道怎么搞了!请教大侠们呀!!!!!
      

  5.   

    楼主不仿试试直接将MySQL的字符集设为你所需要的字符集。
      

  6.   

    是的,页面的charset也得是UTF-8
      

  7.   

    那我页面里原有的中文是不是都要重新输入一遍了呀,
    因为我试图把页面charset改成UTF8的,可是又全是乱码
    不会这样吧???
      

  8.   

    用Ultraedit打开原文件,转为 UTF-8即可
    具体操作:
    Ultraedit打开文件->文件菜单->转换->ASCII到UTF-8(Unicode 编辑)
      

  9.   

    楼上兄帮了大忙,还不知道UE转换文件的时候汉字会一并转换,我之前用Notepadd++转换时,汉字就人是乱码了,OK,谢谢TZ们的帮忙,感谢!!!