成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL數(shù)據(jù)庫(kù)字符編碼總結(jié)--數(shù)據(jù)傳輸編碼

數(shù)據(jù)庫(kù) MySQL
前面分享了mysql數(shù)據(jù)庫(kù)字符編碼中的數(shù)據(jù)存儲(chǔ)編碼,今天主要介紹下數(shù)據(jù)傳輸編碼方面的內(nèi)容,看完后大家應(yīng)該對(duì)mysql數(shù)據(jù)庫(kù)字符編碼的策略很清楚了。

概述

前面分享了mysql數(shù)據(jù)庫(kù)字符編碼中的數(shù)據(jù)存儲(chǔ)編碼,今天主要介紹下數(shù)據(jù)傳輸編碼方面的內(nèi)容,看完后大家應(yīng)該對(duì)mysql數(shù)據(jù)庫(kù)字符編碼的策略很清楚了。

01、名詞解釋

1、character_set_client:客戶(hù)端數(shù)據(jù)解析、編碼的字符集。

2、character_set_connection:連接層字符集。

3、character_set_server:服務(wù)器內(nèi)部操作字符集。

4、character_set_results:查詢(xún)結(jié)果字符集。

5、character_set_database:當(dāng)前數(shù)據(jù)庫(kù)的字符集。

6、character_set_system:系統(tǒng)源數(shù)據(jù)(字段名等)字符集。

注:

1、還有以collation_開(kāi)頭的同上面對(duì)應(yīng)的變量,用來(lái)描述字符序。

2、服務(wù)端編碼、解析時(shí),是按照前一環(huán)節(jié)的編碼進(jìn)行解析的,按照各自的字符集進(jìn)行編碼的。

3、character_set_server是mysql數(shù)據(jù)庫(kù)內(nèi)存的操作字符集。如果創(chuàng)建數(shù)據(jù)庫(kù)時(shí),沒(méi)有指定數(shù)據(jù)庫(kù)的字符集,則使用character_set_server的字符集作為默認(rèn)字符集;如果創(chuàng)建表時(shí),沒(méi)有指定表的字符集,則使用character_set_database的字符集作為默認(rèn)字符集;如果在創(chuàng)建字段時(shí),沒(méi)有指定字段的字符集,則使用表的字符集作為默認(rèn)字符集。

4、set names gbk;等同于同時(shí)設(shè)置character_set_client,character_set_connection,character_set_results這三個(gè)字符集。

MySQL的客戶(hù)端可以分為兩種:一種就是用C語(yǔ)言寫(xiě)的官方客戶(hù)端——MySQL命令程序;一種就是平常程序員使用JDBC等connector API寫(xiě)成的客戶(hù)端。這里以***種做分析,分成windows和Linux兩個(gè)層面。

mysql數(shù)據(jù)庫(kù)字符編碼總結(jié)--數(shù)據(jù)傳輸編碼

02、Windows客戶(hù)端

MySQL命令程序在Windows和Linux系統(tǒng)中關(guān)于字符編碼處理的部分并不等效,下圖是Windows系統(tǒng)的客戶(hù)端字符編碼轉(zhuǎn)換邏輯:

mysql數(shù)據(jù)庫(kù)字符編碼總結(jié)--數(shù)據(jù)傳輸編碼

其中的三個(gè)character變量存在于服務(wù)器上,而charset_info存在于客戶(hù)端。

當(dāng)客戶(hù)端啟動(dòng)連接到服務(wù)器時(shí),客戶(hù)端將根據(jù)配置參數(shù)設(shè)置charset_info為指定編碼,同時(shí)通知服務(wù)器讓服務(wù)器把三個(gè)character變量設(shè)置為相同編碼。

Windows客戶(hù)端數(shù)據(jù)傳輸流程:

1)客戶(hù)端從控制臺(tái)標(biāo)準(zhǔn)輸入讀取一行命令文本,其編碼為操作系統(tǒng)編碼;

2)客戶(hù)端將命令從系統(tǒng)編碼轉(zhuǎn)碼為客戶(hù)端charset_info變量設(shè)定的編碼;

3)客戶(hù)端將命令文本發(fā)送給服務(wù)器;

4)服務(wù)器把收到的文本解碼為character_set_client編碼,這個(gè)編碼通常與客戶(hù)端charset_info一致;

5)服務(wù)器把命令文本轉(zhuǎn)碼為character_set_connection;

6)服務(wù)器執(zhí)行命令,產(chǎn)生結(jié)果;

7)將結(jié)果轉(zhuǎn)碼為character_set_results發(fā)送給客戶(hù)端;

8)客戶(hù)端把收到的結(jié)果解碼為charset_info編碼,這個(gè)編碼通常與character_set_results一致;

9)客戶(hù)端將結(jié)果轉(zhuǎn)碼為操作系統(tǒng)編碼,輸出到控制臺(tái)標(biāo)準(zhǔn)輸出。

由于在Windows平臺(tái)上MySQL程序在讀取控制臺(tái)時(shí)使用了Unicode Console Read API,所以程序從控制臺(tái)獲取的原始字符串實(shí)際上是UTF16編碼,所以這里的“操作系統(tǒng)編碼”并不是Windows通常的GBK,而應(yīng)該看做UTF16。

03、Linux客戶(hù)端

下圖是Linux系統(tǒng)中的MySQL客戶(hù)端程序字符編碼轉(zhuǎn)換邏輯:

mysql數(shù)據(jù)庫(kù)字符編碼總結(jié)--數(shù)據(jù)傳輸編碼

它與Windows版的不同之處就在于,它并不把來(lái)自終端標(biāo)準(zhǔn)輸入的操作系統(tǒng)編碼字符串強(qiáng)制轉(zhuǎn)換為charset_info編碼,也不會(huì)把輸出到終端的charset_info編碼結(jié)果字符串強(qiáng)制轉(zhuǎn)換為操作系統(tǒng)編碼。

也就是說(shuō),Linux平臺(tái)的MySQL程序這時(shí)候會(huì)會(huì)忽略charset_info變量。當(dāng)然,這樣一來(lái)Linux客戶(hù)端的數(shù)據(jù)傳輸流程就比Windows客戶(hù)端對(duì)應(yīng)地少幾步。

其實(shí)字符集出現(xiàn)亂碼的地方***可能在兩個(gè)地方,character_set_client和character_set_results。如果這兩個(gè)地方的編碼個(gè)客戶(hù)端編碼不一致會(huì)亂碼。數(shù)據(jù)有可能存都存不進(jìn)去。***老老實(shí)實(shí)不要亂設(shè)置character_set_client這些值。如果能保持所有的都是utf8,那肯定沒(méi)問(wèn)題。

責(zé)任編輯:龐桂玉 來(lái)源: 今日頭條
相關(guān)推薦

2020-06-12 07:50:15

大數(shù)據(jù)

2024-08-05 09:31:00

MySQLDTS數(shù)據(jù)

2010-04-07 14:54:38

2023-04-12 16:20:00

同步數(shù)據(jù)異步數(shù)據(jù)傳輸

2020-08-13 08:34:10

MySQL數(shù)據(jù)DTS

2010-07-13 15:55:12

FTP數(shù)據(jù)傳輸模式

2010-10-28 15:56:21

ORACLE數(shù)據(jù)庫(kù)設(shè)置

2015-10-14 09:44:55

TCP網(wǎng)絡(luò)協(xié)議數(shù)據(jù)傳輸

2013-11-26 15:51:45

Android編程藍(lán)牙數(shù)據(jù)傳輸

2021-10-08 08:37:38

數(shù)據(jù)傳輸數(shù)據(jù)調(diào)用網(wǎng)絡(luò)協(xié)議

2010-05-11 18:14:52

Mysql數(shù)據(jù)庫(kù)編碼

2009-12-08 11:17:41

WCF雙向通信

2021-12-14 11:01:44

TCPUDP網(wǎng)絡(luò)協(xié)議

2009-07-07 16:46:33

數(shù)據(jù)傳輸銅纜結(jié)構(gòu)

2021-06-09 11:28:06

加密數(shù)據(jù)Jsencrypt

2019-09-06 09:11:36

以太網(wǎng)數(shù)據(jù)二層交換

2017-05-04 12:48:18

WOT網(wǎng)易NDC

2022-03-30 15:06:25

數(shù)據(jù)傳輸Harmony源碼分析

2011-03-02 11:23:48

2023-07-07 11:26:08

物聯(lián)網(wǎng)5G光傳輸
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久精品国产久精国产 | 欧美特级黄色 | 一区二区三区免费在线观看 | 先锋av资源网 | 在线精品亚洲欧美日韩国产 | 欧美高清视频在线观看 | av中文字幕在线观看 | 一区二区三区四区av | 亚洲欧美在线一区 | 国产乱码精品一区二区三区中文 | 成年人在线观看 | 夜夜草视频 | 天天艹 | 国产精品永久免费观看 | 色天天综合 | 欧美精品一区二区三区在线 | 91精品国产一区二区三区香蕉 | 国产精品久久一区 | 日日夜夜av | 欧美精品一 | 欧美视频免费在线 | 深夜爽视频 | 欧美日韩在线国产 | 国产精品久久久 | 伊人焦久影院 | 国产精品 亚洲一区 | 伊人免费在线观看高清 | 黄色大片免费网站 | 成人国产精品久久久 | www.狠狠干| 日韩精品 | 国产综合精品一区二区三区 | 精产国产伦理一二三区 | 国产亚洲二区 | 国产美女永久免费无遮挡 | 欧美区在线 | 九九热视频这里只有精品 | 能免费看的av | 麻豆视频在线免费看 | 一级做a爰片性色毛片 | 日韩欧美一区二区三区免费观看 |