【问题标题】:phpMyAdmin mysql saved Emoji as Question markphpMyAdmin mysql 将表情符号保存为问号
【发布时间】:2013-01-06 13:09:08
【问题描述】:

我想把 Emoji 保存到 MySql 数据库中,我意识到,三个字节的 Emoji 正确保存在数据库中,但是 4 个字节的 emoji 被保存为问号。似乎我确实将 utf8 完全转换为 utf8mb4,但我不知道这里到底缺少什么。我的 MySQL 版本是 5.5.29,当我在 MySql shell 中执行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_unicode_ci |
| collation_database       | utf8mb4_unicode_ci |
| collation_server         | utf8mb4_unicode_ci |
+--------------------------+--------------------+

现在,出于测试目的,我只创建了 1 个数据库和 1 个表来测试表情符号的保存。我通过phpMyAdmin创建数据库,通过MySql shell创建表:

CREATE TABLE `test_emojis` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

它仍然不起作用(仍然是问号)。

但是,我发现了一些有趣的东西,我在 phpMyAdmin 中看到了问号,但是如果我输入 select * from test_emoji; 我可以在 Mysql shell 中正确看到表情符号图标;有任何想法吗?

有人可以帮忙吗?

谢谢

【问题讨论】:

  • 您确定您的客户端 (phpMyAdmin) 确实使用 utf8mb4 字符集连接到服务器吗?在 phpMyAdmin 中重复上述查询
  • 嗨,Michel,谢谢你的提醒,我也发现了,我的 myphpadmin 实际上还在使用 utf8,这就是为什么我在 phpmyadmin 客户端上看不到它,但在 MySQL shell 上可以看到它的原因.但是,我在这里有一个新问题。请阅读这篇文章:stackoverflow.com/questions/14488503/…

标签: mysql phpmyadmin emoji utf8mb4


【解决方案1】:

phpMyAdmin 已硬编码utf8 字符集,因此您必须编辑它的代码才能更改它。对于未来的版本,它已在 fb30c14 中得到修复(这也向您展示了在哪里更改这些值)。

【讨论】:

    【解决方案2】:

    将您的 phpMyAdmin 升级到 >= 4.3.9 并解决问题。

    【讨论】:

      猜你喜欢
      • 2021-09-02
      • 2019-08-07
      • 2021-04-26
      • 2023-03-09
      • 2016-05-09
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      相关资源
      最近更新 更多