重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
這篇文章主要介紹“MySQL數(shù)據(jù)庫(kù)亂碼的原因及解決方法”,在日常操作中,相信很多人在Mysql數(shù)據(jù)庫(kù)亂碼的原因及解決方法問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Mysql數(shù)據(jù)庫(kù)亂碼的原因及解決方法”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
十載的余江網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整余江建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“余江網(wǎng)站設(shè)計(jì)”,“余江網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
今天又到了Mysql亂碼問題,過去總是匆匆的解決了就算了。這次我實(shí)在受不了了。每次都是迷迷糊糊的改好的。 這次決定好好探索一把,看了很多資料及博客之后才理解了點(diǎn)。先記錄下來。如有不對(duì)的請(qǐng)指正。 1. 首先Mysql是在4.0之后才支持多字符集的。所以只有4.0之后才會(huì)出現(xiàn)這種問題。編碼轉(zhuǎn)換的規(guī)則就是, 在輸入數(shù)據(jù)時(shí)將編碼由“客戶端編碼”轉(zhuǎn)換為“服務(wù)器端編碼”,輸出時(shí)將數(shù)據(jù)由“服務(wù)器端編碼”轉(zhuǎn)換為“客戶端編碼”。 MySQL的字符集處理是這樣的: 1、發(fā)送請(qǐng)求。
1)客戶端發(fā)送請(qǐng)求到服務(wù)器端。 2)服務(wù)器端會(huì)把請(qǐng)求的數(shù)據(jù)從客戶端字符集(character_set_client)轉(zhuǎn)成服務(wù)器連接字符集(character_set_connection)。 3)然后服務(wù)器會(huì)檢測(cè)存儲(chǔ)區(qū)域(table,column)的字符集, 然后把數(shù)據(jù)從連接字符集(character_set_connection)轉(zhuǎn)為存儲(chǔ)區(qū)域(table,column)的字符集,然後再存儲(chǔ)或者查詢。 2、返回請(qǐng)求。 1)服務(wù)器將存儲(chǔ)區(qū)域(table,column)的字符集轉(zhuǎn)換成服務(wù)器連接字符集(character_set_connection)。 2)將服務(wù)器連接字符集(character_set_connection)轉(zhuǎn)換成結(jié)果字符集(character_set_results),再發(fā)送到客戶端。
首先我們看下 mysql>status;
我們可以看到四個(gè)字符集的設(shè)置。 1.改變my.ini文件中的編碼可以改變所有的字符集。 2.set names "uf8" 可以改變 Client conn這兩個(gè)字符集。 3.建立數(shù)據(jù)庫(kù)時(shí)的設(shè)置編碼可以改變DB 這個(gè)。 知道了,原理之后我開始解決今天遇到的問題。 1.在其他地方正常顯示中文。但是在CMD中不能顯示顯示亂碼。 首先我設(shè)置了my.ini將字符集全部設(shè)置為utf8。個(gè)人感覺utf8是趨向標(biāo)準(zhǔn)的。 然后數(shù)據(jù)庫(kù)建立時(shí)設(shè)置為utf8.可是看到CMD查詢出的是亂碼。 這是因?yàn)镃MD.也就是我們熟知的下的是不支持utf8的。 所以我設(shè)置輸出到客戶端編碼方式轉(zhuǎn)換成GBK即可。也就是set names gbk 。ok問題解決。
到此,關(guān)于“Mysql數(shù)據(jù)庫(kù)亂碼的原因及解決方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!