一个PHP程序,接收来自C++编写的一个GET信息,PHP程序已经将获得的数据写入数据库!
并且使用 PHPMYADMIN的 简体中文UTF-8下能正常显示中文汉字!(这应该能说明提交的数据是正确的吧?)--然后还有一个PHP程序,来显示这些数据! 我用 mb_detect_encoding($str) 检查获取的中文数据的编码,
显示为ASCII ?! 是BUG ?(表项是:varchar(50) utf8_general_ci)输出的中文信息永远是 “?????” 乱码~---第一想到是插入时有没有这段代码 : mysql_query("SET NAMES UTF8");  我哪里也有这段代码……---我在看看页面是不是UTF-8, 是的~ 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
header('Content-Type:text/html;charset=UTF-8');这上面的2短代码我都有!~---我在看看该文件是不是UTF-8的~ 用专门的文本软件另存为UTF-8了!---我头大了~~~ 究竟是哪里错了! 让我无法输出这些汉字信息!!---请相关经验的朋友转达下吧今天就这个问题。。弄了一天了~~~

解决方案 »

  1.   

    试试 gbk 编码啊
       
      

  2.   

    获得数据编码有问题 转成utf-8 
    $str = iconv("接受到的编码格式", "UTF-8", $str);
      

  3.   

    编码问题。。0。php文件编码,数据库编码,操作数据库编码,页面显示编码上面这几个编码要统一。
      

  4.   

    数据库表列设置为 gbk 读取数据库时设置格式为GBK
      

  5.   

    昨天我也碰到过,是编码问题。跟3楼说的一样,建库的字符集,字段的字符集,php页面,还有数据库连接的编码都要统一。
    页面的编码可以用ultraEdit转换看一下。
      

  6.   


    首先,手动改变浏览器的编码, 可以看出你页面中文的实际编码 另外  你说 "第一想到是插入时有没有这段代码 : mysql_query("SET NAMES UTF8");"
    不仅是 "插入"时,而是要在连接后
      

  7.   

    另外, 更正一下楼上的说法, "php文件编码,数据库编码,操作数据库编码,页面显示编码"不需要完全统一....  具体的搜我以前的帖子...
      

  8.   

    mysql_query("set names utf8");
    或者
    mysql_query("set names GBK");
      

  9.   


    我尝试将从数据库中获得的数据写入 TXT文件,结果还是“???”
    究竟是咋呢~~
      

  10.   


    function InsertUser($sql)
    {
        $conn = ConnectionDb();
        if($conn)//连接成功
        {
            mysql_query("SET NAMES UTF8"); //处理乱码
            mb_internal_encoding('UTF8');
            //执行sql
            if(mysql_query($sql, $conn))
                return mysql_insert_id();
        }
        return -1;
    }
    这肯定是连接后~ 
      

  11.   


    $music_title = $_GET["m"];
    if($music_title == null || strlen($music_title) <= 0){
        exit;
    }
    $music_title = mb_convert_encoding($music_title, 'UTF-8', 'GB2312');我有这些代码呀~ 将GB2312的转换为 UTF-8