本文帶給大家MySQL字符集是什麼?字符集的相關介紹。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。
字元集介紹
-
#gbk/gb2312
#gbk/gb2312
採用雙位元組字元集,不論中、英文字元皆使用雙字元來表示,為了區分中文,將其最高位元都設定成1
gb2312是gbk的子集,gbk是gb18030的子集,gb2312只能儲存簡體中文字元
gbk包含中日韓字元的大字元集
通常使用gbk字元集足夠
國際通用性比utf8差,不過utf8佔用的資料庫比gbk大(utf8是三位元組字元集) -
utf8/utf8mb4
UTF全名(Unicode Transformation Format),是Unicode的一種儲存方式,可變長度字元編碼,又稱萬國碼;
資料庫字元集盡量使用utf8(包括connect、result、及最終html頁面都必須要求一致為utf8);
UTF8使用可變長度位元組來存儲Unicode字符,例如ASCII字母繼續使用1個字節存儲,重音文字、希臘字母、或西里爾字母等使用2個字節來存儲,而常用的漢字就要用3個位元組;也就是一個英文字元等於一個位元組,一個中文(含繁體)等於三個位元組。
utf8mb4一個字元最多能存4字節,所以能支援更多的字元集;專案中常用utf8mb4存放emoji表情;
latin1是8bit (1 bytes)字元集,但不能覆蓋亞洲、非洲語言;
unidoce是latin1的擴展,增加了亞洲、非洲常規語言支持,但仍不支持全部語言,且ASCII用unidoce來表示效率不高(小字符集轉換成大字符集,往往便隨的就是字元的遺失);
utf8是unicode的擴充;
gbk、gb2312等字元集與utf8之間都必須透過Unicode編碼才能相互轉換。
字元集使用建議
#1、非常肯定只有中文終端使用者時,可選擇gbk / gb2312
2、為了方便資料遷移、以及多種終端展示,最好是utf8
3、字元無需區分大小寫時,採用預設的xx_ci校驗集可以,否則選擇xx_bin校驗集(生產環境中,盡量不要修改校驗集)
4、預設字元集是latin1,該字元集存放漢字是分開存放,以至於檢索結果時不夠精確,好處就是節省空間,不建議使用
MySQL字元集範圍
#伺服器層(server) > 資料庫成(database) > ; 資料表(table) > 欄位(column) > 連接(connection) | 結果集(result)
MySQL字元集優先權
char型別
char(N):N代表的是字元數(也叫字元長度)、而非bytes# char(N):是固定長存儲,佔用定長的存儲空間,不足的部分用空格填充;MySQL處理char(N)類型時,需要將空格strip掉後return。 儲存空間:char(N)類型的儲存空間和字元集有關係,結合剛才字元集的知識點,一個中文在utf8字元集中佔用3個bytes、gbk佔用2個bytes、數字和字符統一用一個字元表示。
儲存機制:在不夠N長度時,MySQL在儲存資料時,需要用填滿特殊的空格,而非十六進位的20
思考:
gbk: 可以存放30個位元組佔用的空間30*2utf8:可以存放30個位元組佔用的空間30*3
#########varcahr類型############varchar(N):N代表的是字元個數(也叫字元長度)、而非bytes## #varchar(N):是變長儲存,僅使用必要的儲存空間.######儲存空間:varchar(N)類型的儲存空間和字元集有關係,結合剛才字元集的知識點,一個中文在utf8字元集中佔用3個bytes、gbk統一佔用2個bytes、數字和字元一個字元表示。 ###儲存機制:varchar(N)欄位儲存實際上是從第二個位元組開始儲存,然後用1到2個位元組表示實際長度,剩下的才是可以儲存資料的範圍,因此最大可用存儲範圍是65535-3=65532位元組;第一個位元組標識是否為空.(長度小於255位元組,使用一個位元組來表示長度;大於255位元組使用兩個位元組來表示長度)
修改資料庫實例字元集
暫時生效
mysql> set character_set = 'gbk'; mysql> set character_set_client = 'gbk';
全域生效
mysql> set global character_set_client = 'gbk'; Query OK, 0 rows affected (0.00 sec)
永遠生效
vim /etc/my.cnf character-set-server=utf8
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多相關教學請造訪mysql資料庫圖文教學 ,MySQL影片教學,bootstrap影片教學!
以上是MySQL字符集是什麼?字符集的相關介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

記事本++7.3.1
好用且免費的程式碼編輯器