欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

MySQL學(xué)習(xí)之-字符集選定,修改

基礎(chǔ)概念:


字符(Character)是指人類語言中最小的表義符號。例如’A'、’B'等;
編碼(Encoding)是指給定一系列字符,對每個字符賦予一個數(shù)值,用數(shù)值來代表對應(yīng)的字符.例如,我們給字符’A'賦予數(shù)值0,給字符’B'賦予數(shù)值1,則0就是字符’A'的編碼;
字符集(Character Set)是指字符和編碼對組成的集合。
字符序(Collation)是指在同一字符集內(nèi)字符之間的比較規(guī)則。
MySQL中的字符序名稱遵從命名慣例:以字符序?qū)?yīng)的字符集名稱開頭;以_ci(表示大小寫不敏感)、_cs(表示大小寫敏感)或_bin(表示按編碼值比較)結(jié)尾。例如:在字符序“utf8_general_ci”下,字符“a”和“A”是等價的;


  
mysql> show variables like 'character%';   --查看MySQL字符集設(shè)置  MySQL字符集設(shè)置
+--------------------------+----------------------------+
| Variable_name            | Value                      |     ? 系統(tǒng)變量:
+--------------------------+----------------------------+
| character_set_client     | utf8                       |     – character_set_client:客戶端來源數(shù)據(jù)使用的字符集      
| character_set_connection | utf8                       |     – character_set_connection:連接層字符集
| character_set_database   | latin1                     |     – character_set_database:當(dāng)前選中數(shù)據(jù)庫的默認(rèn)字符集
| character_set_filesystem | binary                     |     – character_set_filesystem:文件系統(tǒng)字符集
| character_set_results    | utf8                       |     – character_set_results:查詢結(jié)果字符集
| character_set_server     | latin1                     |     – character_set_server:內(nèi)部操作字符集(服務(wù)器的字符集)
| character_set_system     | utf8                       |     – character_set_system:系統(tǒng)元數(shù)據(jù)(字段名等)字符集
| character_sets_dir       | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+
8 rows in set (0.00 sec)


詳細(xì)解釋:
1. 
服務(wù)器(數(shù)據(jù))端的字符集和collation,可以分成四級逐層指定——server, database, table, column。當(dāng)MySQL存取位于某一列(column)的數(shù)據(jù)時,如果column的字符集和collation沒有指定,就會向上追溯table的;如果table也沒有指定字符集和collation,就以database的字符集和collation作為默認(rèn)值;如果database仍舊沒有指定,那么就以服務(wù)器的字符集和collation作為默認(rèn)值。


2.
server的字符集和collation的默認(rèn)值又是從哪里來的呢?答案是,配置文件(my.ini)和mysqld(或者mysqld-nt)的命令行參數(shù)中都可以指定。如果不幸的,你根本沒有在my.ini或者命令行中指定,那么MySQL就會使用編譯MySQL時指定的默認(rèn)字符集——latin1。


3.
數(shù)據(jù)字符集轉(zhuǎn)換過程:
character_set_client->character_set_connection->character_set_(column,table,database,server)->character_set_results






MySQL默認(rèn)字符集
MySQL對于字符集的指定可以細(xì)化到一個數(shù)據(jù)庫,一張表,一列.傳統(tǒng)的程序在創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表時并沒有使用那么復(fù)雜的配置,它們用的是默認(rèn)的配置.
    (1)編譯MySQL 時,指定了一個默認(rèn)的字符集,這個字符集是 latin1;
    (2)安裝MySQL 時,可以在配置文件 (my.ini) 中指定一個默認(rèn)的的字符集,如果沒指定,這個值繼承自編譯時指定的;
    (3)啟動mysqld 時,可以在命令行參數(shù)中指定一個默認(rèn)的的字符集,如果沒指定,這個值繼承自配置文件中的配置,此時 character_set_server 被設(shè)定為這個默認(rèn)的字符集;
    (4)安裝 MySQL選擇多語言支持,安裝程序會自動在配置文件中把default_character_set 設(shè)置為 UTF-8,保證缺省情況下所有的數(shù)據(jù)庫所有表的所有列的都用 UTF-8 存儲。




mysql> create database demo;       --創(chuàng)建數(shù)據(jù)庫未指定字符集,使用默認(rèn)字符集創(chuàng)建數(shù)據(jù)庫
Query OK, 1 row affected (0.00 sec)


mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)


mysql> show create database demo \G;       --查看創(chuàng)建數(shù)據(jù)庫時使用的什么字符集。
*************************** 1. row ***************************
       Database: demo
Create Database: CREATE DATABASE `demo` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 sec)


ERROR: 
No query specified


mysql> create database demo default character set gbk collate gbk_chinese_ci;  --指定字符集創(chuàng)建數(shù)據(jù)庫
Query OK, 1 row affected (0.00 sec)
mysql> show create database demo;
+----------+--------------------------------------------------------------+
| Database | Create Database                                              |
+----------+--------------------------------------------------------------+
| demo     | CREATE DATABASE `demo` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+--------------------------------------------------------------+
1 row in set (0.00 sec)


mysql> create database demo2 default character set utf8 collate utf8_general_ci; --指定字符集創(chuàng)建數(shù)據(jù)庫
Query OK, 1 row affected (0.00 sec)


修改字符集 :
 
方法一:(永久生效)
1.查找/etc目錄下是否有my.cnf文件;
#ls -l | grep my.cnf (在/etc下查找是否有my.cnf文件存在)
2.如果沒有就要從/usr/share/mysql,拷貝一個到/etc 下,在/usr/share/mysql目錄下有五個后綴為.cnf的文件,分別是 my-huge.cnf    my-innodb-heavy-4G.cnf    my-large.cnf   my-medium.cnf     my-small.cnf ;從中隨便拷貝一個到/etc目錄下并將其改為my.cnf文件,我選擇的是my-medium.cnf :
#cp /usr/share/mysql/my-medium.cnf   /etc/my.cnf
3.修改my.cnf文件,在該文件中的兩個地方加上 default-character-set=utf8([client]  [mysql])、
在 [mysqld] 中添加character-set-server=utf8

成都創(chuàng)新互聯(lián)公司長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為東山企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、成都網(wǎng)站制作,東山網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

范例(紅色為添加部分):

[mysqld]

character-set-server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8

 

驗證:查看數(shù)據(jù)庫字符集

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
成功!


方法二: (臨時生效)
通過MySQL命令行修改:


mysql> set character_set_client=utf8;


Query OK, 0 rows affected (0.00 sec)


mysql> set character_set_connection=utf8;


Query OK, 0 rows affected (0.00 sec)


mysql> set character_set_database=utf8;


Query OK, 0 rows affected (0.00 sec)


mysql> set character_set_results=utf8;


Query OK, 0 rows affected (0.00 sec)


mysql> set character_set_server=utf8;


Query OK, 0 rows affected (0.00 sec)


mysql> set character_set_system=utf8;


Query OK, 0 rows affected (0.01 sec)


mysql> set collation_connection=utf8;


Query OK, 0 rows affected (0.01 sec)


mysql> set collation_database=utf8;


Query OK, 0 rows affected (0.01 sec)


mysql> set collation_server=utf8;


Query OK, 0 rows affected (0.01 sec)




總結(jié):
1. 如果安裝mysql時未指定數(shù)據(jù)庫字符集,則默認(rèn)數(shù)據(jù)庫字符集為 latin1 。 
2. 選定數(shù)據(jù)庫字符集時需要根據(jù)開發(fā)程序選定字符集。

 

當(dāng)前題目:MySQL學(xué)習(xí)之-字符集選定,修改
網(wǎng)頁網(wǎng)址:http://aaarwkj.com/article46/jpojeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)網(wǎng)站設(shè)計、網(wǎng)站內(nèi)鏈云服務(wù)器、建站公司域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計
中国毛片一区二区三区 | 天天操夜夜操狠狠操91| 青青草成年人免费视频| 亚洲激情av在线观看| 亚洲第一女人天堂av| 国产欧美日韩在线高清| 色婷婷精品综合久久狠狠| 国产免费成人黄视频网站| 欧美日韩亚洲国产激情| 亚洲精品亚洲一区亚洲二区| 久久久久久亚洲精品人妻| 中文字幕人妻在线播放| 精品传媒国产在线观看| 久久精品性少妇一区=区三区| 人妖系列中文字幕欧美系列| 亚洲国产偷拍在线观看| 久久精品中文字幕有码日本道| 久久国产精品99久久久| 国产区一区二区三在线播放| 免费观看黄片视频在线观看| 在线国产偷拍自拍视频| 国产一级无码免费视频| 中文字幕人妻丝袜乱一区二区| 中文字幕亚洲精品熟女少妇| 日韩欧美国产精品一区二区三区| 中国女人内射91熟女| 亚洲国产日朝欧美综合久久| 一区二区三区在线观看日本视频| 九九热99这里有精品| 亚洲国模av一区二区三区| 激情五月婷婷久久激情| 久久综合激情亚洲欧美专区| av在线免费观看青青草原| 日本精品一区二区不卡| 女厕所偷拍一区二区三区| 国产日韩欧美高清免费视频| 欧美日韩在线亚洲二区综二| 中文字幕乱码视频日本| 欧美 日本国产一区| 免费又色又爽无遮挡网站| 亚洲成人免费电影久久|