記住:永遠(yuǎn)不要在 MySQL 中使用 UTF-8
點(diǎn)擊“開(kāi)發(fā)者技術(shù)前線”,選擇“星標(biāo)?”
在看|星標(biāo)|留言,? 真愛(ài)
Incorrect?string?value:?‘\xF0\x9F\x98\x83?<…’?for?column?‘summary’?at?row?1
MySQL 的“utf8mb4”是真正的“UTF-8”。
MySQL 的“utf8”是一種“專屬的編碼”,它能夠編碼的 Unicode 字符并不多。
那么什么是編碼?什么是 UTF-8?
計(jì)算機(jī)讀取“01000011”,得到數(shù)字 67,因?yàn)?67 被編碼成“01000011”。
計(jì)算機(jī)在 Unicode 字符集中查找 67,找到了“C”。
我的電腦將“C”映射成 Unicode 字符集中的 67。
我的電腦將 67 編碼成“01000011”,并發(fā)送給 Web 服務(wù)器。
MySQL 簡(jiǎn)史
使用 CHAR 定義列(在現(xiàn)在看來(lái),CHAR 已經(jīng)是老古董了,但在那時(shí),在 MySQL 中使用 CHAR 會(huì)更快,不過(guò)從 2005 年以后就不是這樣子了)。
將 CHAR 列的編碼設(shè)置為“utf8”。
為什么這件事情會(huì)讓人如此抓狂
總結(jié)
END 前線推出學(xué)習(xí)交流群,加群一定要備注: 研究/工作方向+地點(diǎn)+學(xué)校/公司+昵稱(如Java+上海+上交+可可) 根據(jù)格式備注,可更快被通過(guò)且邀請(qǐng)進(jìn)群,領(lǐng)取一份專屬學(xué)習(xí)禮包
掃碼加我微信進(jìn)群,內(nèi)推和技術(shù)交流,大佬們零距離
開(kāi)發(fā)者技術(shù)前線 ,匯集技術(shù)前線快訊和關(guān)注行業(yè)趨勢(shì),大廠干貨,是開(kāi)發(fā)者經(jīng)歷和成長(zhǎng)的優(yōu)秀指南。
面試官問(wèn)我:一個(gè) TCP 連接可以發(fā)多少個(gè) HTTP 請(qǐng)求?我竟然回答不上來(lái)...
中文版開(kāi)源!一份來(lái)自亞馬遜工程師寫的 Google 面試指南,太火了


評(píng)論
圖片
表情
