国产超碰人人做人人爽av动图,99久久免费只有精品国产,青青视频精品观看视频,亚洲成a人片在线观看无码下载 ,天天做av天天爱天天爽,国产亚洲精品一区二三区,国产高清视频色拍,亚洲乱理伦片在线观看中字
MENU 服務(wù) 案例
網(wǎng)站建設(shè)-網(wǎng)站設(shè)計-北京網(wǎng)站建設(shè)-高端網(wǎng)站制作公司-尚品中國
我們通過擁抱變化創(chuàng)造
360°的品牌價值__
簡體
簡體中文 English

尚品與山東真諾智能設(shè)備有限公司簽署網(wǎng)站改版合作協(xié)議

類型:尚品動態(tài) 了解更多

企業(yè)建站為什么在Mysql中不能使用“UFT8”

來源:尚品中國| 類型:網(wǎng)站百科 |時間:2019-08-16

       使用MYSQL的時候經(jīng)常會遇到一個問題,試著通過 Rails 在以“utf8”編碼的 MariaDB 中保存一個 UTF-8 字符串,然后出現(xiàn)了一個特別離奇的錯誤:

Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1

  UTF-8 編碼的客戶端,服務(wù)器也是 UTF-8 編碼的,數(shù)據(jù)庫也是,就連要保存的這個字符串“ <…”也是合法的 UTF-8。問題的癥結(jié)在于,MySQL 的“utf8”實際上不是真正的 UTF-8。“utf8”只支持每個字符最多三個字節(jié),而真正的 UTF-8 是每個字符最多四個字節(jié)。原來MySQL 一直沒有修復這個 bug,他們在 2010 年發(fā)布了一個叫作“utf8mb4”的字符集,繞過了這個問題。他們并沒有對這個新的字符集廣而告之,以致于現(xiàn)在網(wǎng)絡(luò)上仍然在建議開發(fā)者使用“utf8”,但是這些建議都是錯誤的。

簡單概括如下:

(1)MySQL 的“utf8mb4”是真正的“UTF-8”。

(2)MySQL 的“utf8”只是一種“專屬的編碼”,它能夠編碼的 Unicode 字符并不多。

尚品小編這里建議大家:使用“utf8”的 MySQL 和 MariaDB 的用戶都應(yīng)該改用“utf8mb4”,永遠都不要再使用“utf8”。

第一、什么是編碼?什么是 UTF-8?

眾所周知,計算機儲存的實質(zhì)是二進制,是使用 0 和 1 來存儲文本。比如字符“C”被存成“01000011”,那么計算機在顯示這個字符時需要經(jīng)過兩個步驟:

  1. 我的電腦將“C”映射成 Unicode 字符集中的 67。

  2. 我的電腦將 67 編碼成“01000011”,并發(fā)送給 Web 服務(wù)器。

相對的:

  1. 計算機讀取“01000011”,得到數(shù)字 67,因為 67 被編碼成“01000011”。

  2. 計算機在 Unicode 字符集中查找 67,找到了“C”。

幾乎所有的網(wǎng)絡(luò)應(yīng)用都使用了 Unicode 字符集,因為沒有理由使用其他字符集。

Unicode 字符集包含了上百萬個字符。最簡單的編碼是 UTF-32,每個字符使用 32 位。這樣做最簡單,因為一直以來,計算機將 32 位視為數(shù)字,而計算機最在行的就是處理數(shù)字。但問題是,這樣太浪費空間了。

UTF-8 可以節(jié)省空間,在 UTF-8 中,字符“C”只需要 8 位,其他的字符可能使用 16 位或 24 位。一篇類似本文這樣的文章,如果使用 UTF-8 編碼,占用的空間只有 UTF-32 的四分之一左右。

第二、   MySQL 簡史

為什么 MySQL 開發(fā)者會讓“utf8”失效?我們或許可以從提交日志中尋找答案。

MySQL 4.1 版本支持 UTF-8,也就是 2003 年,而今天使用的 UTF-8 標準(RFC 3629)是隨后才出現(xiàn)的。而舊版的 UTF-8 標準(RFC 2279)最多支持每個字符 6 個字節(jié)。2002 年 3 月 28 日,MySQL 開發(fā)者在第一個 MySQL 4.1 預(yù)覽版中使用了 RFC 2279。同年 9 月,他們對 MySQL 源代碼進行了一次調(diào)整:“UTF8 現(xiàn)在最多只支持 3 個字節(jié)的序列”。那么是誰提交了這些代碼?他為什么要這樣做?這個問題不得而知。在遷移到 Git 后(MySQL 最開始使用的是 BitKeeper),MySQL 代碼庫中的很多提交者的名字都丟失了。2003 年 9 月的郵件列表中也找不到可以解釋這一變更的線索。

不過可以試著猜測一下。

2002 年,MySQL 做出了一個決定:如果用戶可以保證數(shù)據(jù)表的每一行都使用相同的字節(jié)數(shù),那么 MySQL 就可以在性能方面來一個大提升。為此,用戶需要將文本列定義為“CHAR”,每個“CHAR”列總是擁有相同數(shù)量的字符。如果插入的字符少于定義的數(shù)量,MySQL 就會在后面填充空格,如果插入的字符超過了定義的數(shù)量,后面超出部分會被截斷。

MySQL 開發(fā)者在最開始嘗試 UTF-8 時使用了每個字符 6 個字節(jié),CHAR(1) 使用 6 個字節(jié),CHAR(2) 使用 12 個字節(jié),并以此類推。

可以說,他們最初的版本才是正確的,可惜這一版本一直沒有發(fā)布。但是文檔上卻寫了,而且廣為流傳,所有了解 UTF-8 的人都認同文檔里寫的東西。

不過很顯然,MySQL 開發(fā)者或廠商擔心會有用戶做這兩件事:

  1. 使用 CHAR 定義列。

  2. 將 CHAR 列的編碼設(shè)置為“utf8”。

小編猜測應(yīng)該是 MySQL 開發(fā)者本來想幫助那些希望在空間和速度上雙贏的用戶,但時他們卻搞砸了“utf8”編碼。

所以結(jié)果就是失敗的。那些希望在空間和速度上雙贏的用戶,當他們在使用“utf8”的 CHAR 列時,實際上使用的空間比預(yù)期的更大,速度也比預(yù)期的慢。而想要正確性的用戶,當他們使用“utf8”編碼時,卻無法保存像“”這樣的字符。

第三、為什么這個問題很引起人們的注意

關(guān)于這個問題,小編曾經(jīng)花費很多時間才找到這個 bug。但是不確定這是唯一的一個,網(wǎng)絡(luò)上幾乎所有的文章都把“utf8”當成是真正的 UTF-8。“utf8”只能算是個專有的字符集,它給我們帶來了新問題,卻一直沒有得到解決。

來源聲明:本文章系尚品中國編輯原創(chuàng)或采編整理,如需轉(zhuǎn)載請注明來自尚品中國。以上內(nèi)容部分(包含圖片、文字)來源于網(wǎng)絡(luò),如有侵權(quán),請及時與本站聯(lián)系(010-60259772)。
TAG標簽:

如果您的網(wǎng)站可以增加轉(zhuǎn)化次數(shù)并提高客戶滿意度,該怎么辦?

預(yù)約專業(yè)咨詢顧問溝通!

*尚品專業(yè)顧問將盡快與您聯(lián)系

免責聲明

非常感謝您訪問我們的網(wǎng)站。在您使用本網(wǎng)站之前,請您仔細閱讀本聲明的所有條款。

1、本站部分內(nèi)容來源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學習和交流,切勿用于任何商業(yè)活動。

2、本站不承擔用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問題參見國家有關(guān)法律法規(guī),當本聲明與國家法律法規(guī)沖突時,以國家法律法規(guī)為準。

4、如果侵害了您的合法權(quán)益,請您及時與我們,我們會在第一時間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com

免責聲明

非常感謝您訪問我們的網(wǎng)站。在您使用本網(wǎng)站之前,請您仔細閱讀本聲明的所有條款。

1、本站部分內(nèi)容來源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學習和交流,切勿用于任何商業(yè)活動。

2、本站不承擔用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問題參見國家有關(guān)法律法規(guī),當本聲明與國家法律法規(guī)沖突時,以國家法律法規(guī)為準。

4、如果侵害了您的合法權(quán)益,請您及時與我們,我們會在第一時間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com

主站蜘蛛池模板: 国产aⅴ爽av久久久久久 制服丝袜av无码专区 色综合色天天久久婷婷基地 在线看片免费人成视频福利 亚洲中文字幕久久精品无码2021 国产吃奶在线观看 国产v亚洲v天堂无码网站 亚洲一区二区三区av在线观看 亚洲欧美自拍偷一区二区 亚洲精品福利一区二区三区蜜桃 国产精品www夜色视频 av无码中文一区二区三区四区 亚洲欧美日韩国产手机在线 亚洲黑人巨大videos 日韩精品人妻av一区二区三区 中国做爰国产精品视频 欧美xxxx做受欧美人妖 欧美成人看片一区二区 4hu亚洲人成人无码网www电影首页 高清熟女国产一区二区三区 午夜福到在线a国产4 视频 亚洲国产欧美人成 在线精品动漫一区二区无码 国产精品麻豆va在线播放 伊人久久大香线蕉综合中文字幕 亚洲精品尤物av在线观看不卡 影音先锋无码aⅴ男人资源站 色综合天天综合网国产 国产亚洲欧美在线观看三区 亚洲婷婷五月综合狠狠app 亚洲国产精品成人影片久久| 国产免费无遮挡吸乳视频app| 大屁股肥熟女流白浆| 欧美精品亚洲日韩aⅴ| 久久五月丁香合缴情网| 久久综合九色综合97欧美| 亚洲红杏成在人线免费视频| 香蕉久久久久久av综合网成人| 国产黄三级高清在线观看播放| 欧美人与动牲交片免费| 动漫精品专区一区二区三区|