mysql文字字符集 MySQL字符集

2021-10-18 09:39:38 字數 3014 閱讀 8250

字符集

1.什麼是字符集

#字符集:是乙個系統支援的所有抽象字元的集合。字元是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數字等。

最早的字符集:ascii碼

中國的字符集:gbk,utf8,gbk2312

日本字符集:shift-jis

南韓字符集:euc-kr

萬國編碼:unicode字符集

#常用的字符集:

gbk:乙個漢字占用2個位元組

utf8:乙個漢字占用3個位元組

utf8mb4:乙個漢字占用4個位元組

#字符集修改要求:

包含關係才可以修改

#檢視字符集:

mysql> show charset;

2.校驗規則

#檢視校驗規則

mysql> show collation;

| latin7_general_ci | latin7 |

| latin7_general_cs | latin7 |

| latin7_bin | latin7 |

#校驗規則區別

1.以ci結尾:不區分大小寫

2.以cs或者bin結尾:區分大小寫

#大小寫不同,相同欄位也不能新增

mysql> alter table city add name varchar(10);

error 1060 (42s21): duplicate column name 'name'

3.統一字符集

#1.xshell字符集

#2.linux系統字符集

#臨時修改

[root@db03 ~]# lang=zh_cn.utf-8

#永久修改

[root@db03 ~]# vim /etc/sysconfig/i18n#centos6

[root@db03 ~]# vim /etc/locale.conf #centos7

lang="zh_cn.utf-8"

#3.資料庫字符集

1)cmake 字符集指定

cmake .

-ddefault_charset=utf8 \

-ddefault_collation=utf8_general_ci \

-dwith_extra_charsets=all \

2)配置檔案

[root@db03 ~]# vim /etc/my.cnf

[mysqld]

character-set-server=utf8

#4.建立資料庫時指定字符集

mysql> create database db7 charset utf8;

query ok, 1 row affected (0.00 sec)

mysql> show create database db7;

| database | create database |

| db7 | create database `db7` /*!40100 default character set utf8 */ |

1 row in set (0.00 sec)

#5.建表時根據庫的字符集來建表

mysql> create table tb1(id int);

#6.指定字符集建表

mysql> create table tb3(id int) charset utf8mb4;

query ok, 0 rows affected (0.01 sec)

mysql> show create table tb3;

| table | create table |

| tb3 | create table `tb3` (

`id` int(11) default null

) engine=innodb default charset=utf8mb4 |

1 row in set (0.00 sec)

#7.修改庫的字符集

mysql> show create database db7;

| database | create database |

| db7 | create database `db7` /*!40100 default character set utf8 */ |

1 row in set (0.00 sec)

mysql> alter database db7 charset gbk;

query ok, 1 row affected (0.00 sec)

mysql> show create database db7;

| database | create database |

| db7 | create database `db7` /*!40100 default character set gbk */ |

1 row in set (0.00 sec)

#8.修改表的字符集

mysql> show create table tb2;

| table | create table |

| tb2 | create table `tb2` (

`id` int(11) default null

) engine=innodb default charset=utf8 |

1 row in set (0.00 sec)

mysql> alter table tb2 charset gbk;

query ok, 0 rows affected (0.00 sec)

records: 0 duplicates: 0 warnings: 0

mysql> show create table tb2;

| table | create table |

| tb2 | create table `tb2` (

`id` int(11) default null

) engine=innodb default charset=gbk |

1 row in set (0.00 sec)

mysql 集群字符集 Mysql 字符集

字符集與字元比較 字符集字符集是某種字元的集合,比如最常見的ascii碼,由127個字元組成,只需要乙個位元組就能表示 我們常說的字符集還是gbk iso utf8 mysql 我們使用得最多的字符集就是gbk 和 utf8了 他們都是變長字符集,如果字元在ascii範圍內就使用乙個位元組表示,其他...

mysql字符集 MySQL字符集選擇

一 怎樣選擇合適的字符集 對mysql資料庫來說,字符集很重要,因為資料庫儲存的資料大部分都是各種文字,字符集對資料庫的儲存,處理效能都會有所影響。主要考慮一下幾方面的因素 1.滿足應用支援語言的需求,應用處理各種各樣的文字,發布到使用不同語言的國家或地區,可以選擇unicode字符集,mysql的...

mysql字符集修改 MySql字符集修改

問題分析 普通的字串或者表情都是佔位3個位元組,所以utf8足夠用了,但是移動端的表情符號佔位是4個位元組,普通的utf8就不夠用了,為了應對無線網際網路的機遇和挑戰 避免 emoji 表情符號帶來的問題 涉及無線相關的 mysql 資料庫建議都提前採用 utf8mb4 字符集,這必須要作為移動網際...