下面是我使用的命令:
ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
它工作得很好。现在我需要为一列设置utf8mb4_unicode_ci
(因为当前字符显示为???
__)。无论如何,这是我的新命令:
ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8 COLLATE utf8mb4_unicode_ci;
但不幸的是,MySQL抛出了:
ERROacR 1253 (42000):归类'utf8mb4_unicode_ci‘对字符无效
有什么想法吗?
发布于 2018-07-16 00:38:56
COLLATION
名称的第一部分必须与CHARACTER SET
名称匹配。
对于表情符号和一些中文字符,需要使用CHARACTER SET utf8mb4
。
让我们回到“真正的”问题--问号。
COLLATION
指的是排序和排序规则,而不是编码。
CHARACTER SET
是指编码。这在所有阶段都应该是一致的。问号来自不一致。
Trouble with UTF-8 characters; what I see is not what I stored指出,这些可能是问号的疑点:
发布于 2018-07-15 18:23:02
这对我很有效:
ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
https://stackoverflow.com/questions/51346380
复制相似问题