我的 MVC 网站上有一个表单,允许用户输入表情符号字符作为他们提交的文本的一部分。
我的 MySQL 5.6 数据库主要设置为 UTF8,但在接受此数据的表上,我已将字段和表设置为:
字符集:utf8mb4
排序规则:utf8mb4_unicode_ci
但是,当我插入数据时,我可以在表的输入点看到它将表情符号字符编码为 ??????
。所有其他标准文本保持不变。
我错过了什么吗?我看过这样的文章,我用它们来指导我:http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/
任何帮助将不胜感激!
谢谢
最佳答案
ALTER TABLE mytable charset=utf8mb4, MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4;
首先将连接编码设置为utf8mb4,然后将数据库的字符集和排序规则更改为它:-
SET NAMES utf8mb4;
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
接下来我们需要将相关表转换为 utf8mb4/utf8mb4_unicode_ci (您需要为每个表运行此操作):-
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
(将 table_name 替换为数据库表的名称。)
最后我们需要更新列的字符集和排序规则:-
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(140) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL;
关于MySQL 和 ASP MVC - 存储表情符号字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40791572/