簡(jiǎn)單解決Windows中MySQL的中文亂碼與服務(wù)啟動(dòng)問(wèn)題
中文亂碼問(wèn)題
當(dāng)我第一次接觸mysql,首先讓我難受的是mysql的亂碼問(wèn)題,百度上也有許多有關(guān)的解決方案,不過(guò)作為親身受害者,我想很有必要貼出我的心聲:
1.關(guān)于mysql的字符集處理
mysql在標(biāo)識(shí)數(shù)據(jù)時(shí)采取二進(jìn)制字符和非二進(jìn)制字符格式,前者主要用來(lái)標(biāo)識(shí)圖片,聲音,后者就完成剩余的所有功能,而對(duì)于后者,就存在字符集設(shè)置問(wèn)題。
我們知道數(shù)據(jù)庫(kù)是老外搞出來(lái)的,他們?cè)谠O(shè)計(jì)的時(shí)候并沒(méi)有考慮到編碼格式的問(wèn)題,在計(jì)算機(jī)流行的現(xiàn)代每個(gè)國(guó)家為了支持本國(guó)的語(yǔ)言,都推出了自己本國(guó)的編碼格式,下面利用mysql命令列出世界上所有的編碼:
其中的GBK、gb2312、big5是中國(guó)的編碼
GBK:支持21000多個(gè)漢字,包括簡(jiǎn)體和繁體,占2個(gè)字節(jié)
gb2312:支持6700多個(gè)漢字,占2個(gè)字節(jié)
big5:支持繁體字符集,主要是支持香港、臺(tái)灣那邊的字符,繁體,13000多漢字,2個(gè)字節(jié)
國(guó)際標(biāo)準(zhǔn)化組織為了統(tǒng)一格式,創(chuàng)建了UTF8編碼,也就是unicode編碼的一種格式,稱為萬(wàn)國(guó)碼,支持世界上的所有語(yǔ)言具體解決方案:
首先利用命令行,查看字符集:
解釋下亂碼原理:
當(dāng)我們鏈接mysql數(shù)據(jù)庫(kù)時(shí),實(shí)際上要經(jīng)過(guò)下面幾個(gè)步驟:
客戶端->鏈接端->數(shù)據(jù)庫(kù)字段端->返回端
就是上面的貼圖中的
character_set_client character_set_connection character_set_database character_set_result
亂碼問(wèn)題出現(xiàn)這幾個(gè)步驟中,只要其中某個(gè)步驟出錯(cuò),就會(huì)出現(xiàn)亂碼
當(dāng)我們用程序在外部鏈接mysql 數(shù)據(jù)庫(kù)時(shí),客戶端就是我們的程序軟件,所以要將客戶端設(shè)置成GBK或者gb2312,鏈接時(shí)設(shè)置為UTF8或者GBK,數(shù)據(jù)庫(kù)設(shè)置為gbk或utf8
返回設(shè)置成GBK,這樣一般就不會(huì)出現(xiàn)中文亂碼了
如下圖所示:
你可以通過(guò)命令行設(shè)置:
如果不考慮注入問(wèn)題,你可以采取以下方法:
set names gbk ;
這條命令設(shè)置了客戶端、連接端、返回端均為GBK;
你也可以逐個(gè)設(shè)置:
在創(chuàng)建庫(kù)的時(shí)候設(shè)置字符集:
利用命令:
create database mydatabase default character set utf8;
在創(chuàng)建表的時(shí)候指定表的字符集:
利用命令:
create table user(name char(30) character set gbk) default character set gbk;
還有如下設(shè)置:
設(shè)置結(jié)果集:
set character_set_results=gbk;
設(shè)置連接字符集:
set character_set_connection=gbk;
因?yàn)槲覀儸F(xiàn)在是學(xué)習(xí)階段,不考慮內(nèi)存容量問(wèn)題,統(tǒng)一設(shè)置為UTF8,如果你的程序只支持漢語(yǔ),你的作品向外發(fā)行最好選擇GBK編碼。。。。。
如果你按照上面的方法做還是發(fā)現(xiàn)程序運(yùn)行有問(wèn)題,請(qǐng)檢查您的程序是否也是UNICODE編碼,我以前就是因?yàn)檫@個(gè)原因。
啟動(dòng)服務(wù)問(wèn)題
我現(xiàn)在假設(shè)您在安裝mysql數(shù)據(jù)庫(kù)的時(shí)候建立了登錄用戶和密碼(mysql是免費(fèi)的可以到官網(wǎng)下載)
安裝完成的mysql數(shù)據(jù)庫(kù)是開機(jī)自動(dòng)運(yùn)行的,如果您的mysql數(shù)據(jù)庫(kù)服務(wù)不小心被關(guān)閉,可以采取以下解決方案:
方案1:在桌面計(jì)算機(jī)圖標(biāo)上單擊鼠標(biāo)右鍵,
管理->服務(wù)和應(yīng)用程序->服務(wù) 然后在列表中找到mysql服務(wù)項(xiàng),單擊鼠標(biāo)右鍵執(zhí)行“啟動(dòng)”,當(dāng)然你也可以在這里停止mysql服務(wù)。
方案2:
打開cmd(命令行),執(zhí)行命令:
net start mysql55
注意:這里的mysql55是我的PC上的MYSQl數(shù)據(jù)庫(kù)服務(wù)名,具體要按照自己PC的數(shù)據(jù)庫(kù)服務(wù)名執(zhí)行。。。這個(gè)服務(wù)名是你安裝mysq數(shù)據(jù)庫(kù)指定的服務(wù)名。
- windows7下啟動(dòng)mysql服務(wù)出現(xiàn)服務(wù)名無(wú)效的原因及解決方法
- windows無(wú)法啟動(dòng)MySQL服務(wù)報(bào)錯(cuò)1067的解決方法
- Windows下MySQL 5.7無(wú)法啟動(dòng)的解決方法
- Windows下使用批處理實(shí)現(xiàn)啟動(dòng)關(guān)閉mysql
- windows下如何安裝和啟動(dòng)MySQL
- windows版本下mysql的安裝啟動(dòng)和基礎(chǔ)配置圖文教程詳解
- Windows下Mysql啟動(dòng)報(bào)1067的解決方法
- Windows10 mysql 8.0.12 非安裝版配置啟動(dòng)方法
- Windows系統(tǒng)下解決PhPStudy MySQL啟動(dòng)失敗問(wèn)題
- Windows系統(tǒng)下MySQL無(wú)法啟動(dòng)的萬(wàn)能解決方法
相關(guān)文章
MySQL8.0窗口函數(shù)入門實(shí)踐及總結(jié)
這篇文章主要給大家介紹了關(guān)于MySQL8.0窗口函數(shù)入門實(shí)踐及總結(jié)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用MySQL8.0具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06MYSQL數(shù)據(jù)庫(kù)GTID實(shí)現(xiàn)主從復(fù)制實(shí)現(xiàn)(超級(jí)方便)
這篇文章主要介紹了MYSQL數(shù)據(jù)庫(kù)GTID實(shí)現(xiàn)主從復(fù)制實(shí)現(xiàn)(超級(jí)方便),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11