mysql - MySQL 中的表情符号支持

标签 mysql database encoding emoji

我阅读了一堆关于如何在 MySQL 中实现表情符号支持的文章,但没有任何效果。

我的.cnf:

[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
character-set-client-handshake = FALSE
[mysql]
default-character-set = utf8mb4

测试:

mysql> 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 |
+--------------------------+--------------------+

MyISAM 和 InnoDB 我都试过了。

这是怎么回事?

最佳答案

尝试:

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.7.11    |
+-----------+
1 row in set (0.00 sec)

mysql> SET NAMES utf8mb4;
Query OK, 0 rows affected (0.00 sec)

mysql> DROP TABLE IF EXISTS `tbl_test`;
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE TABLE IF NOT EXISTS `tbl_test` (
    ->   `message` VARCHAR(100) DEFAULT NULL
    -> ) DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO `tbl_test` (`message`)
    -> VALUES ('Hello 🐬');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT `message`
    -> FROM `tbl_test`;
+------------+
| message    |
+------------+
| Hello 🐬     |
+------------+
1 row in set (0.00 sec)

参见 db-fiddle .

更新

使用 Workbench 6.3 社区:

Workbench 6.3 Community

关于mysql - MySQL 中的表情符号支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44748683/

相关文章:

java - 使用 Java 写入 MySQL 数据库的性能低下

php - 使用 PHP 减少 HTML 输出中的间距

mysql - SQL-选择不同值的计数

java - 当我正确验证时,HTTP 禁止我访问指定资源 - JavaEE

php - 如何在 PHP 和 MySQL 中回显数据库中每个表中的第一项?

android - 从 json 文件创建/更新 SQLite 数据库

java - Java获取MYSQL数据库大小

encoding - 如何获得Perl 6可以理解的编码列表?

iphone - Cocoa Touch 的规范 NSUnicodeStringEncoding 是什么意思?

python - 如何从帖子请求中拆分正文