[MySQL] 字符集和排序方式 字符串類型 MySQL的字符串分為兩大類: 1)二進制字符串:即一串字節序列,對字節的解釋不涉及字符集,因此它沒有字符集和排序方式的概念 2)非二進制字符串:由字符構成的序列,字符集用來解釋字符串的內容,排序方式決定字符的大
[MySQL] 字符集和排序方式MySQL的字符串分為兩大類:
1)二進制字符串:即一串字節序列,對字節的解釋不涉及字符集,因此它沒有字符集和排序方式的概念
2)非二進制字符串:由字符構成的序列,字符集用來解釋字符串的內容,排序方式決定字符的大小
字符集和排序方式的關系是這樣的:一個字符集可以有一個或多個排序方式,有一個默認的排序方式,我們可以通過以下例子說明:
mysql> show character set like '%gbk%'; +---------+------------------------+-------------------+--------+ | Charset | Description | Default collation | Maxlen | +---------+------------------------+-------------------+--------+ | gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 | +---------+------------------------+-------------------+--------+ 1 row in set (0.00 sec) mysql> show collation like '%gbk%'; +----------------+---------+----+---------+----------+---------+ | Collation | Charset | Id | Default | Compiled | Sortlen | +----------------+---------+----+---------+----------+---------+ | gbk_chinese_ci | gbk | 28 | Yes | Yes | 1 | | gbk_bin | gbk | 87 | | Yes | 1 | +----------------+---------+----+---------+----------+---------+ 2 rows in set (0.00 sec)
排序方式的命名規則為:字符集名字_語言_后綴,其中各個典型后綴的含義如下:
1)_ci:不區分大小寫的排序方式
2)_cs:區分大小寫的排序方式
3)_bin:二進制排序方式,大小比較將根據字符編碼,不涉及人類語言,因此_bin的排序方式不包含人類語言
因此,gbk_chinese_ci排序方式就表示:字符集為gbk,人類語言使用中文來比較大小,比較時區分大小寫。
字符集引導
字符集引導可以讓MySQL指定一種字符集來解釋字符常量,其語法為:
_charset str
如:
_utf8 'ABCD' 表示以utf8字符集來介紹字符串常量'ABCD'
字符集轉換
convert()函數可以把一個字符串轉換成指定字符集,其語法為:
convert(str using charset)
如 convert('ABCD' using utf8) 表示把'ABCD'的字符集轉換成uft8
length()函數 --返回字節的長度
char_length() --返回字符長度
mysql> show variables like 'character\_set\_%'; +--------------------------+--------+ | Variable_name | Value | +--------------------------+--------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | gbk | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | gbk | | character_set_system | utf8 | +--------------------------+--------+ 7 rows in set (0.01 sec) mysql> show variables like 'collation\_%'; +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | latin1_swedish_ci | | collation_database | gbk_chinese_ci | | collation_server | gbk_chinese_ci | +----------------------+-------------------+ 3 rows in set (0.00 sec)
set character_set_client = utf8; set character_set_results = utf8; set character_set_connection = utf8;
set names 'utf8';
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com