mysql中存的是普通文本,数据库中不乱码,在页面上显示的时候中文乱码,这个问题怎么解决呢?请大家帮忙phpmysql数据库乱码

解决方案 »

  1.   

    用Mysql Front 
    乱码字段的类型是longblob的
    查询之后显示
    [1] => array(7) {
        ["question_index"] => string(1) "2"
        ["question_content_text"] => string(21) "小鸟会不会飞?"
        ["question_type"] => string(9) "问答题"
        ["answer"] => string(16) "���ܻᣬ���ܲ���"
        ["user_answer"] => string(1) "2"
        ["question_score"] => string(2) "10"
        ["user_score"] => string(1) "0"
      }
      

  2.   

    从长度 16 上看,你的 answer 字段不是 utf-8 编码的吧?echo base64_encode($ar[1]['answer']); 贴出结果
      

  3.   

    echo base64_encode($ar[1]['answer']);之后出现:
    v8nE3Lvho6y/ycTcsru74Q==
      

  4.   

    $s = base64_decode('v8nE3Lvho6y/ycTcsru74Q==');
    var_dump($s);
    string(16) "可能会,可能不会" 
    是 gbk 编码的你需要在查询前执行 set names utf8 指令
    或在输出前转码