unicode字符在php sql查询结果中显示错误

时间:2013-12-08 09:41:21

标签: php mysql sql unicode

我在php中尝试sql查询。我得到了?????而是Unicode字符。我经历了谷歌和stackoverflow,在那里,我已经尝试了很多解决方案,我已经尝试了所有这些,但仍然没有得到正确的结果。但是当我尝试所有那些????走了,但我得到的是“\ u0cb8 \ u0cc1 \ u0cb3 \ u0ccd \ u0caf \ u0ca6 \ u0c95 \ u0cc6 \ u0cb2 \ u0cb5 \ u0”。

<?php
    //header( 'Content-Type: text/html; charset=utf-8' ); 

    $con = mysql_connect("host","uname","pass@");
    //mysql_query("SET NAMES 'utf8'" ,$con);
    //mysql_set_charset('utf8', $con);
    //mysql_set_charset('utf8');
    //mysql_query ("set collation_connection='utf8_general_ci'"); 
    if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("db", $con);
    //mysql_query ("set character_set_results='utf8'"); 
    //mysql_query("SET NAMES utf8");
    $result = mysql_query("SELECT * FROM node");


    while($row = mysql_fetch_assoc($result))
    {
        $output[]=$row;
    }

    //utf8_encode($output);
    print(json_encode($output));
    //print_r $output;
    mysql_close($con);
?>

注释行是我试过的解决方案。

1 个答案:

答案 0 :(得分:0)

当使用 head tag 编写

时,以下行对我来说效果很好
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />      

在第一行尝试。它适用于我。