mysql> show Variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)mysql的编码参数已经是utf8了,PHP页面也是utf8写的,
为什么我在php访问数据库时一定要加个mysql_query("SET NAMES 'utf8'");才能显示中文,否则显示??

解决方案 »

  1.   

    MySQL的字符集问题。Windows下可通过修改my.ini内的CODE:
    # CLIENT SECTION[mysql]
    default-character-set=utf8
    # SERVER SECTION
    [mysqld]default-character-set=utf8=========================
    这两个字段来更改数据库的默认字符集。第一个是客户端默认的字符集,第二个是服务器端默认的字符集。
      

  2.   

    http://topic.csdn.net/u/20090423/13/983c9228-ceb1-4e4b-acc1-41ed5cfbc155.html
    看看这个帖子应该就能明白了,之前有人问过了。
      

  3.   

    init_connect='SET NAMES utf8'
      

  4.   

    就是从数据库查询出来是为utf8,
    一般有四个地方要设置这符编码为好
    1,数据库存2,查询时,3文件另存为,4和页面显示时的编码,就能解决你的问题了.