我修改了my.ini:
[mysqld]
default-character-set=utf8
default-storage-engine=MyISAM
default-collation=utf8_bin
character-set-server = utf8
collation-server = utf8_bin
init_connect='SET NAMES utf8'在html中设置:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />但是上传到数据库里就变成了问号:
???但是如果直接在数据库中输入汉字:
你好!
读出来的就是正常的。不知道为什么?

解决方案 »

  1.   

    检查你的数据录入文件~看文件编码是否utf-8!
      

  2.   

    set names 'gbk'一下。或者按下贴方法检查并贴出你的检查结果。
    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  3.   

    数据库应该设置成gbk2312.......什么的,
      

  4.   

    insert代码前一行加
    mysql_query("SET NAMES 'uft-8'");
      

  5.   

    这个肯定是你的数据库表的默认字符集是gbk/gb2312,
    用phpmyadmin查看一下你的表,其中有字符型的字段的字符集是什么
    如果不是utf8_general_ci,那肯定会是乱码的。
      

  6.   


    mysql里没有utf-8,只有utf8注意数据库中字段的字符集和网页的编码要一致。