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

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

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

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

在創(chuàng)建表的時候指定表的字符集:
利用命令:
create table user(name char(30) character set gbk) default character set gbk;

還有如下設置:
設置結果集:
set character_set_results=gbk;
設置連接字符集:
set character_set_connection=gbk;
因為我們現(xiàn)在是學習階段,不考慮內存容量問題,統(tǒng)一設置為UTF8,如果你的程序只支持漢語,你的作品向外發(fā)行最好選擇GBK編碼。。。。。
如果你按照上面的方法做還是發(fā)現(xiàn)程序運行有問題,請檢查您的程序是否也是UNICODE編碼,我以前就是因為這個原因。
啟動服務問題
我現(xiàn)在假設您在安裝mysql數(shù)據(jù)庫的時候建立了登錄用戶和密碼(mysql是免費的可以到官網(wǎng)下載)
安裝完成的mysql數(shù)據(jù)庫是開機自動運行的,如果您的mysql數(shù)據(jù)庫服務不小心被關閉,可以采取以下解決方案:
方案1:在桌面計算機圖標上單擊鼠標右鍵,
管理->服務和應用程序->服務 然后在列表中找到mysql服務項,單擊鼠標右鍵執(zhí)行“啟動”,當然你也可以在這里停止mysql服務。

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

- windows7下啟動mysql服務出現(xiàn)服務名無效的原因及解決方法
- windows無法啟動MySQL服務報錯1067的解決方法
- Windows下MySQL 5.7無法啟動的解決方法
- Windows下使用批處理實現(xiàn)啟動關閉mysql
- windows下如何安裝和啟動MySQL
- windows版本下mysql的安裝啟動和基礎配置圖文教程詳解
- Windows下Mysql啟動報1067的解決方法
- Windows10 mysql 8.0.12 非安裝版配置啟動方法
- Windows系統(tǒng)下解決PhPStudy MySQL啟動失敗問題
- Windows系統(tǒng)下MySQL無法啟動的萬能解決方法
相關文章
一文搞懂mysql如何處理json格式的字段(解析json數(shù)據(jù))
這篇文章主要給大家介紹了關于mysql如何處理json格式的字段的相關資料,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)常要用到的,下面這篇文章主要給大家介紹了關于MySQL中MAX()和MIN()函數(shù)的高效使用及技巧的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-06-06
mysql高級學習之索引的優(yōu)劣勢及規(guī)則使用
這篇文章主要給大家介紹了關于mysql高級學習之索引的優(yōu)劣勢及規(guī)則使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03
真的了解MySQL中的binlog和redolog區(qū)別
MySQL的binlog和redolog都是用于記錄數(shù)據(jù)庫操作的日志文件,但是它們有不同的作用和特點,今天給大家分享MySQL的binlog和redolog區(qū)別,感興趣的朋友一起看看吧2023-11-11

