8

在阅读了关于 SO 的所有关于表情符号的主题后,我一定会寻求帮助。问题似乎几乎相同:我有一个 iPhone 应用程序通过 PHP 表情符号发送到 MySQL DB,我可以在记录上看到一些符号,例如“伞”和“云”,但其他不是(愤怒的脸、笑脸和其他)。

为什么有些是,有些不是?

  • MySQL 排序规则:utf8mb_unicode_ci
  • 表排序:utf8mb_unicode_ci
  • 字段、varchar、排序规则:utf8mb_unicode_ci

PHP设置:

    mysql_query("SET CHARACTER SET utf8mb4");
    mysql_query("SET NAMES utf8mb4");

记录中未显示的符号显示为问号“?”

4

1 回答 1

11

一些表情符号使用 3 个字节编码。如果您的计算机支持表情符号,以下是 3 字节的表情符号:

☺❤✨❕❔✊✌✋☝☀☔☁⛄⚡☎➿✂⚽⚾⛳♠♥♣♦〽☕⛪⛺⛲⛵✈⛽⚠♨1⃣2⃣3⃣4⃣5⃣6⃣7⃣8⃣9⃣0⃣#⃣◀▶▶▶⏪⏩♿ ㊙㊗✳✴♈♉♊♋♌♍♎♏♐♑♒♓⛎⭕❌©®™

其余的使用 4 个字节编码,除非您将 mysql 更新为 utf8mb4,否则将无法正常工作。听起来您没有以某种方式完全升级到 utf8mb4。

于 2012-05-02T15:54:43.627 回答