本文小編為大家詳細(xì)介紹“MySQL怎么設(shè)置字符集”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“mysql怎么設(shè)置字符集”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
創(chuàng)新互聯(lián)建站是專業(yè)的欽北網(wǎng)站建設(shè)公司,欽北接單;提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行欽北網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
一、字符集的概念
字符集是關(guān)于代碼和字符之間的映射關(guān)系的一種規(guī)范,它規(guī)定了計(jì)算機(jī)字符的編碼方式。字符集在不同的數(shù)據(jù)庫系統(tǒng)中可能有著不同的設(shè)定,而不同的字符集之間具有不同的特點(diǎn)和優(yōu)勢。例如,在處理漢字時(shí),GB2312/GBK/GB18030比Latin1/Latin7更有優(yōu)勢。
在MySQL中,字符集是指數(shù)據(jù)庫、表和列中字符數(shù)據(jù)的編碼方式。通俗地說,字符集就是指用來存儲和處理字符、字符串的方式。
MySQL中支持的字符集主要有如下幾種:ASCII、GBK、GB2312、UTF-8、UTF-16和ISO-8859等,其中UTF-8是MySQL最常用的字符集,因?yàn)樗С侄嗾Z言、編碼格式靈活、節(jié)省空間等好處。
二、MySQL字符集的設(shè)置方法
查詢MySQL支持的字符集
在MySQL數(shù)據(jù)庫中,可以通過命令查詢數(shù)據(jù)庫支持的字符集,方法如下:
SHOW CHARACTER SET;
該命令可以列出MySQL可用的各種字符集,例如:
Charset | Description | Default collation | Maxlen |
---|---|---|---|
big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
dec8 | DEC West European | dec8_swedish_ci | 1 |
cp850 | DOS West European | cp850_general_ci | 1 |
hp8 | HP West European | hp8_english_ci | 1 |
koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
latin1 | iso-8859-1 West European | latin1_swedish_ci | 1 |
latin2 | iso-8859-2 Central European | latin2_general_ci | 1 |
swe7 | 7bit Swedish | swe7_swedish_ci | 1 |
ascii | US ASCII | ascii_general_ci | 1 |
ujis | EUC-JP Japanese | ujis_japanese_ci | 3 |
sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 |
hebrew | iso-8859-8 Hebrew | hebrew_general_ci | 1 |
tis620 | TIS620 Thai | tis620_thai_ci | 1 |
euckr | EUC-KR Korean | euckr_korean_ci | 2 |
koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |
gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 |
greek | iso-8859-7 Greek | greek_general_ci | 1 |
cp1250 | Windows Central European | cp1250_general_ci | 1 |
gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |
latin5 | iso-8859-9 Turkish | latin5_turkish_ci | 1 |
armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
cp866 | DOS Russian | cp866_general_ci | 1 |
keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
macce | Mac Central European | macce_general_ci | 1 |
macroman | Mac West European | macroman_general_ci | 1 |
cp852 | DOS Central European | cp852_general_ci | 1 |
latin7 | iso-8859-13 Baltic | latin7_general_ci | 1 |
utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 |
cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
utf16 | UTF-16 Unicode | utf16_general_ci | 4 |
utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 |
cp1256 | Windows Arabic | cp1256_general_ci | 1 |
cp1257 | Windows Baltic | cp1257_general_ci | 1 |
utf32 | UTF-32 Unicode | utf32_general_ci | 4 |
binary | Binary pseudo charset | binary | 1 |
geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
設(shè)置數(shù)據(jù)庫的字符集
當(dāng)我們新建一個(gè)MySQL數(shù)據(jù)庫時(shí),可以設(shè)置該數(shù)據(jù)庫的默認(rèn)字符集,這樣所有該數(shù)據(jù)庫中的表的字符集都將使用該字符集。具體操作步驟如下:
2.1 首先查看MySQL支持的字符集
mysql> SHOW CHARACTER SET;
2.2 在創(chuàng)建新的數(shù)據(jù)庫時(shí),添加一個(gè)字符集設(shè)定
CREATE DATABASE new_db CHARACTER SET utf8;
或者
CREATE DATABASE new_db DEFAULT CHARACTER SET utf8;
其中utf8為常用字符集之一。
設(shè)置 MySQL 表的字符集
為了讓表的字段能夠正確地存儲和顯示數(shù)據(jù),我們需要為表設(shè)置字符集。在 MySQL 中,表的字符集可以通過在創(chuàng)建表時(shí)進(jìn)行設(shè)置。如果表已經(jīng)創(chuàng)建好了,也可以通過 Alter 命令對表進(jìn)行修改。
3.1 在創(chuàng)建表時(shí)設(shè)置字符集
CREATE TABLE new_table (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL DEFAULT '',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中,ENGINE=InnoDB用于設(shè)置表的存儲引擎,CHARSET=utf8用于設(shè)置表的默認(rèn)字符集。
3.2 修改表的字符集
ALTER TABLE old_table CONVERT TO CHARACTER SET utf8;
或者
ALTER TABLE old_table MODIFY COLUMN name VARCHAR(50) CHARACTER SET utf8;
其中,CONVERT TO命令用于修改表的默認(rèn)字符集,MODIFY COLUMN命令用于修改表中某一列的字符集。
設(shè)置 MySQL 連接的字符集
在連接 MySQL 服務(wù)器時(shí),也可以設(shè)置操作的字符集。這個(gè)字符集設(shè)定通常稱作“客戶端字符集”,指的是在客戶端中傳輸?shù)臄?shù)據(jù)的字符集。
4.1 查看當(dāng)前連接的字符集
mysql> SELECT @@character_set_connection;
4.2 修改連接的字符集
SET character_set_connection = utf8;
或者
mysql --default-character-set=utf8 -u root -p
其中,SET命令可以修改連接的默認(rèn)字符集,--default-character-set命令可以指定客戶端字符集。
其他的字符集設(shè)定
在部分情況下,可能需要打開 MySQL 的其他字符集設(shè)定,來處理一些比較罕見的數(shù)據(jù)存儲和轉(zhuǎn)換場景。這時(shí)可能需要修改 MySQL 的配置文件——my.cnf文件,修改該文件可能需要管理員權(quán)限。修改方法如下:
5.1 找到 my.cnf 文件
在Linux中,my.cnf文件通常存儲在 /etc/my.cnf 或 /etc/mysql/my.cnf 目錄下。
在Windows中,my.cnf文件通常存儲在 MySQL 數(shù)據(jù)庫的安裝目錄下。
5.2 修改 my.cnf 文件
在 my.cnf 文件中添加如下語句:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
其中,character_set_server命令用于設(shè)置列出來的字符集,init_connect命令用于在創(chuàng)建連接時(shí)自動(dòng)設(shè)定字符集。
讀到這里,這篇“mysql怎么設(shè)置字符集”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁名稱:mysql怎么設(shè)置字符集
標(biāo)題網(wǎng)址:http://m.newbst.com/article34/jhshse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、電子商務(wù)、手機(jī)網(wǎng)站建設(shè)、小程序開發(fā)、網(wǎng)站導(dǎo)航、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)