大家好,我是新手,在通过PHP向MYSQL插入中文是,就是插不进去啊。
我的代码如下,页面和MYSQL的字符集全是UTF-8的$dbc = mysqli_connect('localhost', 'root', 'root', 'aliendatabase')
    or die('Error connecting to MySQL server.');  $query = "INSERT INTO aliens_abduction (other) VALUES ('好')";
   
  $result = mysqli_query($dbc, $query)
    or die('Error querying database.');  mysqli_close($dbc);另外,在MYSQL的客户端插入汉字也有问题,报错如下mysql> insert into a values('好');
ERROR 1366 (HY000): Incorrect string value: '\xBA\xC3' for column 'a' at row 1MYSQL的字符集如下
mysql> show variables like '%char%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | gbk                                                     |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------+

解决方案 »

  1.   

    $query =之前添加mysql_query("SET NAMES 'UTF8'");
      

  2.   

    楼主正解!
    你是dos窗口下执行的吧,如是的话,就在insert前执行下set names gbk试试;
      

  3.   

    看一下你的mysql的字符集是那种??最好设置成gbk或者gb2312,另外建议你不要用dos,去下载一个mysql-front 软件,可视化的,很好用。配置也方便
      

  4.   

    在执行插入语句之前 再执行一句 set name gbk
      

  5.   

    | character_set_database | gbk |
    你的数据库默认语言是 gbk 的
    所以非 gbk 编码的都要有语言声明
      

  6.   

    在访问数据库后 加mysql_query("SET NAMES 'UTF8'");
      

  7.   


    插进去了,不过完整语句如下,谢谢。
    mysqli_query($dbc, "SET NAMES 'UTF8'");
      

  8.   


    不好意思,刚才想点“引用”来着,一不小心点“板砖”上了,哈哈。我页面用的是UTF-8,数据库用GBK或者GB2312,这样可以吗?