mysql 中的特殊名称使用什么编码
What encoding to use for the special name in mysql
我有这个名字:éššede+á
我有 mysql 但我需要为此搜索出色的编码(ASCII,latin1)?
因为我从 php 中搜索此 ID 的位置但无法正常工作,问题是字符:(éšš+á) 来自 id:éššede+á
谢谢
你应该切换到 uft8mb4
但是具有正确排序规则的 latin1 也可以解决问题
基本上,您还需要具有与 table
相同设置的正确连接字符串
CREATE TABLE name(name1 varchar(10))
CREATE TABLE name_1(name1 varchar(10)) CHARACTER SET latin1 COLLATE latin1_danish_ci;
SHOW CREATE TABLE name
Table | Create Table
:---- | :--------------------------------------------------------------------------------------------------------------------------------
name | CREATE TABLE `name` (<br> `name1` varchar(10) DEFAULT NULL<br>) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
INSERT INTO name VALUES ('éššede+á')
SELECT * FROM name WHERE name1 LIKE 'éššede+á'
| name1 |
| :----------- |
| éššede+á |
INSERT INTO name_1 VALUES ('éššede+á')
SELECT * FROM name_1 WHERE name1 LIKE 'éššede+á'
| name1 |
| :----------- |
| éššede+á |
db<>fiddle here
很多 CHARACTER SETs
可以处理这些字符:
CHARACTER SET Hex
binary, utf8mb4, utf8 C3A9C5A1C5A1C3A1
cp1250, latin1 E99A9AE1
cp852 82E7E7A0
eucjpms, ujis 8FABB18FABDE8FABDE8FABA1
gb18030 A8A68130943881309438A8A2
hp8 C5ECECC4
keybcs2 82A8A8A0
latin2 E9B9B9E1
macce 8EE4E487
latin7 几乎可以工作,但不适用于 á
。
uft8mb4
强烈推荐;它处理“一切”。
我有这个名字:éššede+á 我有 mysql 但我需要为此搜索出色的编码(ASCII,latin1)?
因为我从 php 中搜索此 ID 的位置但无法正常工作,问题是字符:(éšš+á) 来自 id:éššede+á
谢谢
你应该切换到 uft8mb4
但是具有正确排序规则的 latin1 也可以解决问题
基本上,您还需要具有与 table
相同设置的正确连接字符串CREATE TABLE name(name1 varchar(10))
CREATE TABLE name_1(name1 varchar(10)) CHARACTER SET latin1 COLLATE latin1_danish_ci;
SHOW CREATE TABLE name
Table | Create Table :---- | :-------------------------------------------------------------------------------------------------------------------------------- name | CREATE TABLE `name` (<br> `name1` varchar(10) DEFAULT NULL<br>) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
INSERT INTO name VALUES ('éššede+á')
SELECT * FROM name WHERE name1 LIKE 'éššede+á'
| name1 | | :----------- | | éššede+á |
INSERT INTO name_1 VALUES ('éššede+á')
SELECT * FROM name_1 WHERE name1 LIKE 'éššede+á'
| name1 | | :----------- | | éššede+á |
db<>fiddle here
很多 CHARACTER SETs
可以处理这些字符:
CHARACTER SET Hex
binary, utf8mb4, utf8 C3A9C5A1C5A1C3A1
cp1250, latin1 E99A9AE1
cp852 82E7E7A0
eucjpms, ujis 8FABB18FABDE8FABDE8FABA1
gb18030 A8A68130943881309438A8A2
hp8 C5ECECC4
keybcs2 82A8A8A0
latin2 E9B9B9E1
macce 8EE4E487
latin7 几乎可以工作,但不适用于 á
。
uft8mb4
强烈推荐;它处理“一切”。