【发布时间】:2020-04-16 07:38:01
【问题描述】:
在这里,在我的表中,我有一个列名为description。
根据我的错误,我尝试了SO 的许多解决方案来更改排序规则类型。
我试过下面的集合
1) utf8mb4_unicode_ci
2) utf8_general_ci
在这里,显示 your_table 中的完整列;
谁能知道\'\\xC3\'这种类型的字符串的正确排序规则是什么?
【问题讨论】:
在这里,在我的表中,我有一个列名为description。
根据我的错误,我尝试了SO 的许多解决方案来更改排序规则类型。
我试过下面的集合
1) utf8mb4_unicode_ci
2) utf8_general_ci
在这里,显示 your_table 中的完整列;
谁能知道\'\\xC3\'这种类型的字符串的正确排序规则是什么?
【问题讨论】:
要支持完整的 UTF-8 Unicode,例如表情符号,在您的情况下,字符 À 您应该使用 utf8mb4 并且 utf8mb4_unicode_ci utf8 已过时。
你可以在https://mathiasbynens.be/notes/mysql-utf8mb4找到完整的解释。
您可以像这样检查表的当前排序规则:
SHOW FULL COLUMNS FROM your_table;
我假设您的描述列的类型为 TEXT,否则您可能需要更改类型。
要更改表格默认字符集,您可以使用:
ALTER TABLE your_table CONVERT TO CHARACTER SET utf8mb4;
但这不会改变您的列的排序规则。 要更改列的排序规则,您应该使用:
ALTER TABLE your_table MODIFY description TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
【讨论】:
SHOW FULL COLUMNS FROM your_table;
先试试这个
ALTER TABLE your_database_name.your_table CONVERT TO CHARACTER SET utf8
或如果上述解决方案不起作用,请在连接到数据库后执行以下操作
SET NAMES 'utf8';
SET CHARACTER SET utf8;
【讨论】: