mysql4.0升级到5.0,phpmyadmin乱码,网站程序正常这只能说明phpmyadmin在处理上有问题!!!
因为phpmyadmin要使用漏洞百出的mb_string扩展

解决方案 »

  1.   

    没有发现 PHP 的扩展设置mbstring, 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果.我没装mb_string,不想编译mysql5.0怎样查看mysql4.0有没有装mb_string呢?我用的是linux
      

  2.   

    这个还是character set的问题。
    phpmyadmin是把客户端设为utf8的。
    你的库里的字段如果是latin1,它做latin1到utf8的转换,这个结果不可能是正确中文。
    而你的程序不受影响是因为两个(>128)的latin1的字符是能够拼成一个gbk汉字的。你需要把数据库character set设为gbk或utf8,
    根据你的客户端在程序里连接后使用set names xxx
    如果需要,可能要重新导入一下原有数据
      

  3.   

    这不是mb_string的问题
    pma在mysql4.1版本后使用utf-8编码,而数据库内是gb2312当然乱了
    可以用其他的管理工具ss
      

  4.   

    mysql> show variables like "%char%";
    +--------------------------+----------------------------------------+
    | Variable_name            | Value                                  |
    +--------------------------+----------------------------------------+
    | character_set_client     | latin1                                 |
    | character_set_connection | latin1                                 |
    | character_set_database   | latin1                                 |
    | character_set_results    | latin1                                 |
    | character_set_server     | latin1                                 |
    | character_set_system     | utf8                                   |
    | character_sets_dir       | /usr/local/mysql/share/mysql/charsets/ |
    +--------------------------+----------------------------------------+
    7 rows in set (0.02 sec)mysql> 请大侠看看,咋办?
      

  5.   

    mysql> show variables like "%colla%";
    +----------------------+-------------------+
    | Variable_name        | Value             |
    +----------------------+-------------------+
    | collation_connection | latin1_swedish_ci |
    | collation_database   | latin1_swedish_ci |
    | collation_server     | latin1_swedish_ci |
    +----------------------+-------------------+
    3 rows in set (0.00 sec)mysql> 还有这个
      

  6.   

    character_set_database   | latin1   => gbk
    看所有varchar的字段后面的character set都应该变成一样的gbk了程序中连接之后 执行 ‘set names gbk'
    在执行这个之后 collation_connection 、client、result的character set都应该是gbk了。
    (要看的话,要在程序里做 show variables , 在外面做不一样,是基于连接的)这个时候看程序运行的结果,如果不对,数据要重新导入一下。
    不知道你目前导入导出数据是如何做的,也要注意character set的问题,要不导进去编码就不对。这些搞好了,phpmyadmin应该就对了
      

  7.   

    最好的办法是:
    把phpmyadmin的lang/chinese_simplified-gb2312.inc.php覆盖chinese_simplified-utf-8.inc.php