干杯!
我正在研究一个计划回答许多查询的数据库,问题是我想知道使用 utf8_spanish2_ci、utf16_spanish2_ci 和 utf32_spanish2_ci 的优势是什么?
他们希望我解释他们的优点和缺点,以及哪些会更优化。
应该注意的是,不要担心查询的结构,因为我会不断更改它们,以便它们尽可能地优化。
谢谢!
干杯!
我正在研究一个计划回答许多查询的数据库,问题是我想知道使用 utf8_spanish2_ci、utf16_spanish2_ci 和 utf32_spanish2_ci 的优势是什么?
他们希望我解释他们的优点和缺点,以及哪些会更优化。
应该注意的是,不要担心查询的结构,因为我会不断更改它们,以便它们尽可能地优化。
谢谢!
首先是一些定义:
字符集:带有识别码的字符列表。
排序规则:一组用于比较给定字符集中字符的规则。
utf8_spanish_ci
: 现代西班牙语utf8_spanish2_ci
: 传统的西班牙语。在这两种归类中:'ñ' 是一个独立的字母,位于 'n' 和 'o' 之间。
传统西班牙语:'ch' 是一个字母,排列在 'c' 和 d 之间,'ll' 是一个位于 'l' 和 'm' 之间的字母
这意味着如果您使用 utf8_spanish2_ci 将会有另外两个字母,并且这两个字母都将允许您在数据中包含字母 eñe(Ñ) 并显示出来。
它们与将插入的数据量无关,它们仅定义将显示哪些字母,哪些不显示,也就是说,如果您使用 spanish_ci,则EÑE (Ñ)将显示在数据中,例如“ ÑAME",否则另一种类型的排序规则会显示:
áóñ
代替EÑE(Ñ)和其他元素,例如重音和固定词,并且字符检查器也会出现在EÑE(Ñ)所在的位置去这里看看它会产生的问题:
为什么从数据库获取的某些数据中会出现 Inspector Character (�)?
我推荐 utf_spanish_ci 然后用 utf-8 编码你的 HTML 文档,就像我在我的问题中所做的那样
MYSQL 排序规则 创建 MySQL 数据库时,确保字符串字段和其他字段在 utf8_spanish_ci 中,以及表的排序规则。
HTML 内容 放入
<head>
所有 HTML 文件中:<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
PHP 内容