如何在MySQL中正确输出unicode字符?

时间:2016-12-02 21:23:31

标签: php mysql unicode

您好原谅我对此不熟悉,但我正在尝试从我的php文件中输出一些unicode数据。

假设要输出的字符串是:“SDTếtFestival

但是我似乎得到了:“SD T \ u1ebft Festival”

这可能很容易被忽视,但我无法弄明白。

我在这里搜索并遵循了解决方案:

  1. How to take unicode characters from the mysql data base in PHP
  2. How to display Unicode data with PHP
  3. PHP代码段:

    $sql = "select * from info";
    
    mysqli_query($connection, "set character_set_client='utf8'");
    mysqli_query($connection, "set character_set_results='utf8'");
    mysqli_query($connection, "set collation_connection='utf8_general_ci'");
    
    $result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));
    
    $rowCount = $result->num_rows;
    $index = 1  ;
    $newArray = [];
    while($row =mysqli_fetch_assoc($result))
    {   
        $newArray[$row['type']] = $row['content'];    
    }
    
    echo json_encode($newArray);
    

    我似乎做错了什么?

    谢谢!

    更新

    我已按照重复问题中的解决方案的建议添加了以下代码:

    $connection->set_charset('utf8mb4');
    mysqli_set_charset($connection, 'utf8mb4');
    

    并删除:

    mysqli_query($connection, "set character_set_client='utf8'");
    mysqli_query($connection, "set character_set_results='utf8'");
    mysqli_query($connection, "set collation_connection='utf8_general_ci'");
    

    但是,输出仍然相同。

    更新2: 正如评论中所建议的那样,我确保表和排序规则支持utf8mb4:

    enter image description here

    enter image description here

    我似乎仍然得到相同的输出。

0 个答案:

没有答案