記住沒:永遠(yuǎn)不要在 MySQL 中使用 UTF-8!
點(diǎn)擊上方“數(shù)據(jù)管道”,選擇“置頂星標(biāo)”公眾號
干貨福利,第一時(shí)間送達(dá)

點(diǎn)擊上方“數(shù)據(jù)管道”,選擇“置頂星標(biāo)”公眾號
干貨福利,第一時(shí)間送達(dá)

出自:infoq.cn/article/in-mysql-never-use-utf8-use-utf8
那么什么是編碼?什么是 UTF-8?
MySQL 簡史
為什么這件事情會讓人如此抓狂
總結(jié)
Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1
總結(jié)
為什么這件事情會讓人如此抓狂
使用 CHAR 定義列(在現(xiàn)在看來,CHAR 已經(jīng)是老古董了,但在那時(shí),在 MySQL 中使用 CHAR 會更快,不過從 2005 年以后就不是這樣子了)。
將 CHAR 列的編碼設(shè)置為“utf8”。
MySQL 簡史
我的電腦將“C”映射成 Unicode 字符集中的 67。
我的電腦將 67 編碼成“01000011”,并發(fā)送給 Web 服務(wù)器。
計(jì)算機(jī)讀取“01000011”,得到數(shù)字 67,因?yàn)?67 被編碼成“01000011”。
計(jì)算機(jī)在 Unicode 字符集中查找 67,找到了“C”。
那么什么是編碼?什么是 UTF-8?
MySQL 的“utf8mb4”是真正的“UTF-8”。
MySQL 的“utf8”是一種“專屬的編碼”,它能夠編碼的 Unicode 字符并不多。
評論
圖片
表情

