我在网上查了一些解决方法
试过后还是没有解决下面是环境中的部分属性:
mysql> show variables like 'character_set_%';
+--------------------------+-----------------------------------------+
| Variable_name            | Value                                   |
+--------------------------+-----------------------------------------+
| character_set_client     | gbk                                     |
| character_set_connection | gbk                                     |
| character_set_database   | latin1                                  |
| character_set_filesystem | binary                                  |
| character_set_results    | gbk                                     |
| character_set_server     | latin1                                  |
| character_set_system     | utf8                                    |
| character_sets_dir       | D:\Php\MySQL Server 5.1\share\charsets\ |
+--------------------------+-----------------------------------------+
建表的语句:CREATE TABLE `book_info` (
  `book_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `book_n` varchar(50) NOT NULL,
  `book_department` char(50) NOT NULL,
  `book_create_dt` date NOT NULL,
  `book_publisher` char(100) DEFAULT NULL,
  `book_price` float(6,2) NOT NULL,
  `borrow_status` char(10) NOT NULL,
  `re_x` char(100) DEFAULT NULL,
  `book_cover` longblob,
  PRIMARY KEY (`book_id`)
)  DEFAULT CHARSET=gbk这样在MySQL Command Line Client和navicat中都可以显示汉字
但通过PHP查询出来的解决,就是问号。

请问如何解决?
最好给解释解释,谢谢。

解决方案 »

  1.   

    这样在MySQL Command Line Client和navicat中都可以显示汉字 
    但通过PHP查询出来的结果,就是问号。
      

  2.   

    文件编码,页面编码是否是gb2312 or gbk?
      

  3.   

    连接数据库时:
    mysql_query("SET NAMES 'gbk'");这句写了吗?
      

  4.   


    浏览器是IE8,页面的编码是GB2312。
      

  5.   


    我连库和查询的代码如下,请问这句话在哪里加?
    $conn = new mysqli('localhost', 'root', 'sql', 'bms'); 
    $sql=略;
    $result = $conn->query($sql);