好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > mysql charset=utf8你真的弄明白意思了嗎

mysql charset=utf8你真的弄明白意思了嗎

熱門標簽:安徽ai電話電銷機器人有效果嗎 常州網絡外呼系統開發 在哪里申請400電話 萊西市地圖標注 400電話申請信用卡 走過哪個省地圖標注 外呼系統電銷受騙 銷售語音電話機器人 巫師三血與酒地圖標注

1、先來查看一個建表語句

create table student(
  sid int primary key aotu_increment,
  sname varchar(20) not null,
  age int
)charset=utf8;

思考一個問題:

  • 當我們建表時,不指定charset=utf8的時候,此時插入中文,為什么會報錯呢?
  • 當指定charset=utf8后,再次插入中文,為什么又可以插入中文,并且不亂碼呢?

2、查看CMD黑窗口的字符集

打開CMD黑窗口–>鼠標放在窗口最上方–>點擊鼠標右鍵–>屬性–>點擊選項


通過上圖可以知道:CMD中輸入文字使用的字符編碼是GBK。同時你在保存文件的時候,經常會看到ANSI字符集,這個代表的是本地字符集,我們在中國,本地字符集使用的就都是GBK編碼。

3、你注意這個問題了嗎?


客戶端client輸入的字符,都是采用GBK編碼的。mysql服務器存儲的字符又是UTF8編碼的。那么,我們對數據庫、表進行增刪改查,最后返回到客戶端界面中,要想保證字符不亂碼,肯定是經過了"編碼轉換過程的"。我要問的是,究竟是什么東西完成了這個編碼的轉換過程的?

4、你不熟悉的幾個mysql操作命令

-- 查看數據庫支持的所有的字符集(這句命令自己下去操作)。
mysql> show character set;
-- 查看系統當前狀態,里面可以看到部分字符集設置。
mysql> status;
-- 查看系統字符集設置,包括所有的字符集設置
mysql> show variables like '%char%';

操作結果如下:


通過上圖我們可以看到有一個叫做"connection"的東西,中文名叫做"連接器"。"連接器"就是用來進行"編碼轉換過程"的。

1)連接器的特性

① “連接器的作用”:

連接客戶端與服務端,進行字符集的轉換。連接器有這種自動轉換的功能。

② “連接器的工作流程”:
Ⅰ首先,客戶端的字符先發給連接器,連接器選擇一種編碼將其轉換(轉換之后的編碼, 與連接器的編碼格式一致),進行臨時存儲。
Ⅱ 接著,連接器再次轉換成與服務器一致的編碼,并最終存儲在服務器中。
Ⅲ 然后,服務器返回的結果,再次先通過連接器,連接器仍然是選擇一種編碼將其轉換(轉換之后的編碼, 與連接器的編碼格式一致),進行臨時存儲。
Ⅳ 最后,連接器再將結果轉化為與客戶端一致的字符集,就可以在客戶端正常顯示了。

2)圖示說明連接器connection的作用

圖一:

圖一說明如下:

圖二:

圖二說明如下:

5、對上述兩個圖的實戰演示

1)首先,了解如下幾個代碼。

-- 1)設置客戶端的字符集。
set character_set_client=gbk;
-- 2)設置連接器的字符集。
set character_set_connection=utf8;
-- 3)設置返回結果的字符集。
set character_set_results=gbk;

2)代碼演示過程,詳細地寫在如下鏈接中的sql文件中,可以自行下載,查看。

http://note.youdao.com/noteshare?id=3fe60a490637d1a51ac78bf4a9e7e4d0sub=511D73BDDEA34D9BAC565249035D74A8

6、產生亂碼的兩個原因

解碼與實際編碼,不一致導致的亂碼,可修復

在傳輸過程中,由于編碼不一致,導致部分字節丟失,造成的亂碼,不可修復。

1)編碼和解碼不一致導致的亂碼

2)傳輸過程中,丟失字節導致的亂碼。

7、對實際情況的分析(什么都不設置,系統默認是如何呢?)

1)仔細查看如下圖片


根據上圖可以知道(好好理解下面的文字說明):

圖二:

2)set names gbk的含義

-- 當客戶端、連接器、返回值的字符集相同,并且都是gbk的時候,我們可以采取如下的簡寫方式:
 set names gbk;
 -- 上述sql語句其實包含了如下三層意思:
 set character_set_client=gbk;
 set character_set_connection=gbk;
 set character_set_results=gbk;

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家

您可能感興趣的文章:
  • MySQL的中文UTF8亂碼問題
  • MySql修改數據庫編碼為UTF8避免造成亂碼問題
  • MySQL字符集 GBK、GB2312、UTF8區別 解決MYSQL中文亂碼問題
  • PHP MYSQL亂碼問題,使用SET NAMES utf8校正
  • 查看修改mysql編碼方式讓它支持中文(gbk或者utf8)
  • mysql存儲emoji表情報錯的處理方法【更改編碼為utf8mb4】
  • 完美轉換MySQL的字符集 解決查看utf8源文件中的亂碼問題
  • Mysql以utf8存儲gbk輸出的實現方法提供
  • mysql 字符串長度計算實現代碼(gb2312+utf8)
  • MAC下修改mysql默認字符集為utf8的方法

標簽:陽江 赤峰 河北 黃石 鞍山 果洛 煙臺 來賓

巨人網絡通訊聲明:本文標題《mysql charset=utf8你真的弄明白意思了嗎》,本文關鍵詞  mysql,charset,utf8,你,真的弄,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql charset=utf8你真的弄明白意思了嗎》相關的同類信息!
  • 本頁收集關于mysql charset=utf8你真的弄明白意思了嗎的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 色综合久色AⅤ狼| 美女被日网站| 又黄又爽又粗又硬又免费的视频 | 涩涩aV视频一区二区三区| 三级片网| 老司机午夜网站| 亚洲欧美日韩国产午夜精品一区 | 99久久成人国产精品免费| 久久夜色邦福利网| 国产精品99久久免费公侵犯玩弄| 放荡的情妇| 狠狠色综合久久丁香婷婷| 被两根粗大疯狂进出黑蕾丝视频| 内涵漫画黄版无限次数破解版18禁| 黄色激情戏| 欧美日韩综合精品一区二区三区| 女生隐私部位无遮挡| 17C丨国产丨精品入口| 黄色免费看片网站| 91区国产| 日韩色网| 婷婷国产五月天网久久精品| 《年轻的护士》韩国电影| 色sese| 鸣人的假期无白屏无广告 | 日韩在线播放全免费| 免费超爽大片黄网站| 男女车车好快的车车免费网站| 免费看片的软件下载| 日本道高清一区二区三区亮点| 操欧洲女人| 美国一级淫片| 国产精品亚洲综合网站| 法国满天星《八尺夫人》菲律宾| 欧美成人性色情一级毛片苦月亮| 香蕉视频污下载| 韩剧免费| 在线丨暗哟小u女精品视频| 暖暖视频免费观**| 古代乳妇高h肉辣文销魂小妾| 艳婢春桃h全文|