簡單解決Windows中MySQL的中文亂碼與服務(wù)啟動問題
中文亂碼問題
當(dāng)我第一次接觸mysql,首先讓我難受的是mysql的亂碼問題,百度上也有許多有關(guān)的解決方案,不過作為親身受害者,我想很有必要貼出我的心聲:
1.關(guān)于mysql的字符集處理
mysql在標(biāo)識數(shù)據(jù)時采取二進(jìn)制字符和非二進(jìn)制字符格式,前者主要用來標(biāo)識圖片,聲音,后者就完成剩余的所有功能,而對于后者,就存在字符集設(shè)置問題。
我們知道數(shù)據(jù)庫是老外搞出來的,他們在設(shè)計(jì)的時候并沒有考慮到編碼格式的問題,在計(jì)算機(jī)流行的現(xiàn)代每個國家為了支持本國的語言,都推出了自己本國的編碼格式,下面利用mysql命令列出世界上所有的編碼:

其中的GBK、gb2312、big5是中國的編碼
GBK:支持21000多個漢字,包括簡體和繁體,占2個字節(jié)
gb2312:支持6700多個漢字,占2個字節(jié)
big5:支持繁體字符集,主要是支持香港、臺灣那邊的字符,繁體,13000多漢字,2個字節(jié)
國際標(biāo)準(zhǔn)化組織為了統(tǒng)一格式,創(chuàng)建了UTF8編碼,也就是unicode編碼的一種格式,稱為萬國碼,支持世界上的所有語言具體解決方案:
首先利用命令行,查看字符集:

解釋下亂碼原理:
當(dāng)我們鏈接mysql數(shù)據(jù)庫時,實(shí)際上要經(jīng)過下面幾個步驟:
客戶端->鏈接端->數(shù)據(jù)庫字段端->返回端
就是上面的貼圖中的
character_set_client character_set_connection character_set_database character_set_result
亂碼問題出現(xiàn)這幾個步驟中,只要其中某個步驟出錯,就會出現(xiàn)亂碼
當(dāng)我們用程序在外部鏈接mysql 數(shù)據(jù)庫時,客戶端就是我們的程序軟件,所以要將客戶端設(shè)置成GBK或者gb2312,鏈接時設(shè)置為UTF8或者GBK,數(shù)據(jù)庫設(shè)置為gbk或utf8
返回設(shè)置成GBK,這樣一般就不會出現(xiàn)中文亂碼了
如下圖所示:
你可以通過命令行設(shè)置:
如果不考慮注入問題,你可以采取以下方法:
set names gbk ;
這條命令設(shè)置了客戶端、連接端、返回端均為GBK;

你也可以逐個設(shè)置:
在創(chuàng)建庫的時候設(shè)置字符集:
利用命令:
create database mydatabase default character set utf8;

在創(chuàng)建表的時候指定表的字符集:
利用命令:
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)存容量問題,統(tǒng)一設(shè)置為UTF8,如果你的程序只支持漢語,你的作品向外發(fā)行最好選擇GBK編碼。。。。。
如果你按照上面的方法做還是發(fā)現(xiàn)程序運(yùn)行有問題,請檢查您的程序是否也是UNICODE編碼,我以前就是因?yàn)檫@個原因。
啟動服務(wù)問題
我現(xiàn)在假設(shè)您在安裝mysql數(shù)據(jù)庫的時候建立了登錄用戶和密碼(mysql是免費(fèi)的可以到官網(wǎng)下載)
安裝完成的mysql數(shù)據(jù)庫是開機(jī)自動運(yùn)行的,如果您的mysql數(shù)據(jù)庫服務(wù)不小心被關(guān)閉,可以采取以下解決方案:
方案1:在桌面計(jì)算機(jī)圖標(biāo)上單擊鼠標(biāo)右鍵,
管理->服務(wù)和應(yīng)用程序->服務(wù) 然后在列表中找到mysql服務(wù)項(xiàng),單擊鼠標(biāo)右鍵執(zhí)行“啟動”,當(dāng)然你也可以在這里停止mysql服務(wù)。

方案2:
打開cmd(命令行),執(zhí)行命令:
net start mysql55
注意:這里的mysql55是我的PC上的MYSQl數(shù)據(jù)庫服務(wù)名,具體要按照自己PC的數(shù)據(jù)庫服務(wù)名執(zhí)行。。。這個服務(wù)名是你安裝mysq數(shù)據(jù)庫指定的服務(wù)名。

- windows7下啟動mysql服務(wù)出現(xiàn)服務(wù)名無效的原因及解決方法
- windows無法啟動MySQL服務(wù)報錯1067的解決方法
- Windows下MySQL 5.7無法啟動的解決方法
- Windows下使用批處理實(shí)現(xiàn)啟動關(guān)閉mysql
- windows下如何安裝和啟動MySQL
- windows版本下mysql的安裝啟動和基礎(chǔ)配置圖文教程詳解
- Windows下Mysql啟動報1067的解決方法
- Windows10 mysql 8.0.12 非安裝版配置啟動方法
- Windows系統(tǒng)下解決PhPStudy MySQL啟動失敗問題
- Windows系統(tǒng)下MySQL無法啟動的萬能解決方法
相關(guān)文章
MySQL中浮點(diǎn)型轉(zhuǎn)字符型可能會遇的問題詳解
類型轉(zhuǎn)換是我們?nèi)粘i_發(fā)中經(jīng)常會遇到的一個需求,最近在將浮點(diǎn)型轉(zhuǎn)換成字符型的時候就遇到了一個問題,所以總結(jié)分享出來,下面這篇文章主要給大家介紹了MySQL中關(guān)于浮點(diǎn)型轉(zhuǎn)字符型可能遇到的問題的相關(guān)資料,需要的朋友可以參考下。2017-09-09
一文搞懂mysql如何處理json格式的字段(解析json數(shù)據(jù))
這篇文章主要給大家介紹了關(guān)于mysql如何處理json格式的字段的相關(guān)資料,MySQL中的JSON類型是一種數(shù)據(jù)類型,用于存儲和處理JSON(JavaScript Object Notation)格式的數(shù)據(jù),需要的朋友可以參考下2023-12-12
MySQL中MAX()和MIN()函數(shù)的高效使用及技巧
在SQL數(shù)據(jù)庫中,最大/最小值函數(shù)—MAX()/MIN()是經(jīng)常要用到的,下面這篇文章主要給大家介紹了關(guān)于MySQL中MAX()和MIN()函數(shù)的高效使用及技巧的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
MySQL 服務(wù)器參數(shù)說明及查看 設(shè)置方法
MySQL 服務(wù)器參數(shù)說明及查看,設(shè)置方法,對于mysql不是很熟悉的朋友,可以參考下。2009-03-03
mysql高級學(xué)習(xí)之索引的優(yōu)劣勢及規(guī)則使用
這篇文章主要給大家介紹了關(guān)于mysql高級學(xué)習(xí)之索引的優(yōu)劣勢及規(guī)則使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
真的了解MySQL中的binlog和redolog區(qū)別
MySQL的binlog和redolog都是用于記錄數(shù)據(jù)庫操作的日志文件,但是它們有不同的作用和特點(diǎn),今天給大家分享MySQL的binlog和redolog區(qū)別,感興趣的朋友一起看看吧2023-11-11

