MySQL 巨坑:永遠(yuǎn)不要在 MySQL 中使用 UTF-8!
共 4066字,需瀏覽 9分鐘
·
2024-06-22 22:30
Incorrect string value: ‘e??? <…’ for column ‘summary’ at row 1
-
MySQL的“utf8mb4”是真正的“UTF-8”。 -
MySQL的“utf8”是一種“專屬的編碼”,它能夠編碼的Unicode字符并不多。
1
-
計(jì)算機(jī)讀取“01000011”,得到數(shù)字67,因?yàn)?7被編碼成“01000011”。 -
計(jì)算機(jī)在Unicode字符集中查找67,找到了“C”。
-
我的電腦將“C”映射成Unicode字符集中的67。 -
我的電腦將67編碼成“01000011”,并發(fā)送給Web服務(wù)器。
2
-
使用CHAR定義列(在現(xiàn)在看來,CHAR已經(jīng)是老古董了,但在那時(shí),在MySQL中使用CHAR會(huì)更快,不過從2005年以后就不是這樣子了)。 -
將CHAR列的編碼設(shè)置為“utf8”。
3
4
評(píng)論
圖片
表情
