MySQL 巨坑:永远不要在 MySQL 中使用 UTF-8!
dotNET全栈开发
共 4066字,需浏览 9分钟
·
2024-06-22 22:30
Incorrect string value: ‘ð <…’ for column ‘summary’ at row 1
-
MySQL的“utf8mb4”是真正的“UTF-8”。 -
MySQL的“utf8”是一种“专属的编码”,它能够编码的Unicode字符并不多。
1
-
计算机读取“01000011”,得到数字67,因为67被编码成“01000011”。 -
计算机在Unicode字符集中查找67,找到了“C”。
-
我的电脑将“C”映射成Unicode字符集中的67。 -
我的电脑将67编码成“01000011”,并发送给Web服务器。
2
-
使用CHAR定义列(在现在看来,CHAR已经是老古董了,但在那时,在MySQL中使用CHAR会更快,不过从2005年以后就不是这样子了)。 -
将CHAR列的编码设置为“utf8”。
3
4
评论