您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Mysql中如何設置字符集,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
####################################
DROP TABLE test_var;
CREATE TABLE test_var(NAME VARCHAR(5)) CHARACTER SET utf8;
INSERT INTO test_var(NAME) VALUES('一路上有你'); --successful
INSERT INTO test_var(NAME) VALUES('一路上有你們'); --Data too LONG FOR COLUMN 'name' AT ROW 1
INSERT INTO test_var(NAME) VALUES(',,,,,');-- successful
INSERT INTO test_var(NAME) VALUES(',,,,,,'); --6個符號失敗
SELECT * FROM test_var;
######################################
當然所有的前提是字符集設置正確了,才能正確insert。
在創建表的時候,因為沒有指定字符集utf8,而采用了數據庫默認的字符集latin1,我客戶端的字符集是utf8,
在進行client->connection->server的字符集轉換,即utf8->latin1->latin1轉換,在第一個轉換時便有了亂碼,那么在insert的時候報了亂碼錯誤。
#######################################
由于后臺前端都是采用了utf8字符集,所以建議數據庫也采用utf8字符集。
為此我們需要修改數據庫默認的字符集。
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
修改MySQL字符集
1、修改服務器級別字符集
a.臨時修改
mysql>SET GLOBAL character_set_server=utf8;
b.永久修改
打開/etc/mysql/my.cnf,在[mysqld]后添加character-set-server=utf8
2、修改數據庫級
a. 臨時更改
mysql>SET GLOBAL character_set_database=utf8;
b. 永久更改
改了服務器級就可以了
3、修改表級
mysql>ALTER TABLE table_name DEFAULT CHARSET utf8; 更改了后永久生效
4、修改列級修改示例
mysql>ALTER TABLE `products` CHANGE `products_model` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; 更改了后永久生效
5、更改連接字符集
a. 臨時更改:mysql> SET GLOBAL character_set_client;
b. 永久更改:打開/etc/mysql/my.cnf,在[client]后添加default-character-set=utf8
Notice:3.1和3.5需要重啟mysql: service mysql restart
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
字符集的概念
基本概念
@字符(Character)是指人類語言中最小的表義符號。例如’A'、’B'等;
@給定一系列字符,對每個字符賦予一個數值,用數值來代表對應的字符,這一數值就是字符的編碼(Encoding)。例如,我們給字符’A'賦予數值0,給字符’B'賦予數值1,則0就是字符’A'的編碼;
@給定一系列字符并賦予對應的編碼后,所有這些字符和編碼對組成的集合就是字符集(Character Set)。例如,給定字符列表為{’A',’B'}時,{’A'=>0, ‘B’=>1}就是一個字符集;
@字符序(Collation)是指在同一字符集內字符之間的比較規則;
@確定字符序后,才能在一個字符集上定義什么是等價的字符,以及字符之間的大小關系;
@每個字符序唯一對應一種字符集,但一個字符集可以對應多種字符序,其中有一個是默認字符序(Default Collation);
@MySQL中的字符序名稱遵從命名慣例:以字符序對應的字符集名稱開頭;以_ci(表示大小寫不敏感)、_cs(表示大小寫敏感)或_bin(表示按編碼值比較)結尾。例如:在字符序“utf8_general_ci”下,字符“a”和“A”是等價的;
關于Mysql中如何設置字符集就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。