在mysql表和json_encode中导入的表情符号

时间:2017-05-01 11:10:23

标签: php mysql sql-server json wordpress

我使用(dbconvert.com)将MSSQL表复制到mysql表 SQL SERVER(טוב)中的所有表情符号都设置在mysql中(טוב )。

在我尝试将json_encode用于本文中包含表情符号的查询之前,这不是问题。

这是代码问题:

echo json_encode($forumPage);

我没有插入表情符号的问题我的问题是来自mssql的旧转换

我试过的一些事情

1)添加

    header('Content-Type: application/json; charset=utf-8');

2)使用

   json_encode($forumPage,JSON_UNESCAPED_UNICODE);

3)使用(这是Wordpress网站)

   define('DB_CHARSET', 'utf8mb4');

关于我的数据库的一些额外信息:

   SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'
+--------------------------+--------------------+
| Variable_name            | Value              |
+--------------------------+--------------------+
| character_set_client     | utf8mb4            |
+--------------------------+--------------------+
| character_set_connection | utf8mb4            |
+--------------------------+--------------------+
| character_set_database   | utf8mb4            |
+--------------------------+--------------------+
| character_set_filesystem | binary             |
+--------------------------+--------------------+
| character_set_results    | utf8mb4            |
+--------------------------+--------------------+
| character_set_server     | utf8mb4            |
+--------------------------+--------------------+
| character_set_system     | utf8               |
+--------------------------+--------------------+
| collation_connection     | utf8mb4            |
+--------------------------+--------------------+
| collation_database       | utf8mb4            |
+--------------------------+--------------------+
| collation_server         | utf8mb4            |
+--------------------------+--------------------+

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要将排序规则更改为'utf8mb4_bin' 并将mysql连接的charset设置为:

$database_connection = new mysqli($server, $user,$password,$database_name); 

$ database_connection-> set_charset( “utf8mb4”);

请参阅:Storing Emojis in Mysql