我正在尝试将一些utf8编码数据插入到mysql数据库中。特殊字符在浏览器中正确显示,但不在我的数据库中。手动将排序规则更改为utf8_unicode_ci并确认“此操作将尝试将数据转换为新排序规则”后,数据将正确显示。但是,如果我使用
创建表CREATE TABLE IF NOT EXISTS table_name (
date date NOT NULL,
searchengine VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
location VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
keyword VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
position INT NOT NULL,
competition VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
url VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
)
并在创建表后插入数据,即使收集是utf8_unicode_ci,数据仍然无法正确显示。关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
排序规则是一组规则,用于定义如何比较和排序字符串。 MySQL中的每个排序规则都属于一个字符集。每个字符集至少有一个排序规则,大多数都有两个或多个排序规则。归类根据权重对字符进行排序。
utf8mb4_unicode_ci 基于Unicode标准进行排序和比较,可以在各种语言中进行准确排序。