程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 簡單解決Windows中MySQL的中文亂碼與服務啟動問題,mysql中文

簡單解決Windows中MySQL的中文亂碼與服務啟動問題,mysql中文

編輯:MySQL綜合教程

簡單解決Windows中MySQL的中文亂碼與服務啟動問題,mysql中文


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

2016310143101531.jpg (648×726)

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

2016310143124283.png (648×430)

解釋下亂碼原理:
當我們鏈接mysql數據庫時,實際上要經過下面幾個步驟:
客戶端->鏈接端->數據庫字段端->返回端
就是上面的貼圖中的

character_set_client
character_set_connection
character_set_database
character_set_result

亂碼問題出現這幾個步驟中,只要其中某個步驟出錯,就會出現亂碼
當我們用程序在外部鏈接mysql 數據庫時,客戶端就是我們的程序軟件,所以要將客戶端設置成GBK或者gb2312,鏈接時設置為UTF8或者GBK,數據庫設置為gbk或utf8
返回設置成GBK,這樣一般就不會出現中文亂碼了
如下圖所示:
你可以通過命令行設置:
如果不考慮注入問題,你可以采取以下方法:

set names gbk ;

這條命令設置了客戶端、連接端、返回端均為GBK;

2016310143321628.png (640×416)

你也可以逐個設置:
在創建庫的時候設置字符集:
利用命令:

create database mydatabase default character set utf8;

2016310143356799.png (640×221)

在創建表的時候指定表的字符集:
利用命令:

create table user(name char(30) character set gbk) default character set gbk;

2016310143411912.png (635×79)

還有如下設置:
設置結果集:

set character_set_results=gbk;

設置連接字符集:

set character_set_connection=gbk;

因為我們現在是學習階段,不考慮內存容量問題,統一設置為UTF8,如果你的程序只支持漢語,你的作品向外發行最好選擇GBK編碼。。。。。
如果你按照上面的方法做還是發現程序運行有問題,請檢查您的程序是否也是UNICODE編碼,我以前就是因為這個原因。


啟動服務問題
我現在假設您在安裝mysql數據庫的時候建立了登錄用戶和密碼(mysql是免費的可以到官網下載)
安裝完成的mysql數據庫是開機自動運行的,如果您的mysql數據庫服務不小心被關閉,可以采取以下解決方案:
方案1:在桌面計算機圖標上單擊鼠標右鍵,
管理->服務和應用程序->服務 然後在列表中找到mysql服務項,單擊鼠標右鍵執行“啟動”,當然你也可以在這裡停止mysql服務。

2016310143434856.jpg (778×449)

方案2:
打開cmd(命令行),執行命令:

net start mysql55

注意:這裡的mysql55是我的PC上的MYSQl數據庫服務名,具體要按照自己PC的數據庫服務名執行。。。這個服務名是你安裝mysq數據庫指定的服務名。

2016310143500402.png (675×439)

您可能感興趣的文章:

  • 用於App服務端的MySQL連接池(支持高並發)
  • 安全地關閉MySQL服務的教程
  • 通過兩種方式增加從庫——不停止mysql服務
  • 使用cgroups來限制MySQL企業備份服務對資源的占用
  • 解決Java程序使用MySQL時返回參數為亂碼的示例教程
  • 解決MySQL客戶端輸出窗口顯示中文亂碼問題的辦法
  • 關於Mysql中文亂碼問題該如何解決(亂碼問題完美解決方案)
  • MySQL 5.0.16亂碼問題的解決方法
  • PHP+MYSQL中文亂碼問題
  • MySQL存儲數據亂碼的問題解析

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved