你說的應該是中文顯示亂碼吧,這個主要原因應該是mysql資料庫的編碼方式和系統自身的編碼方式衝突造成的,如果資料庫的編碼是utf-8,而系統自身的編碼是gbk,那查詢的時候中文很可能就會顯示亂碼,下面我大概介紹一下檢視編碼和設定編碼的步驟,實驗環境win7+mysql5.5+navicat,主要步驟如下:
1.先在navicat中檢視要查詢的資料,如下,資料顯示正常,中文未出現亂碼:
2.開啟cmd,連線mysql,輸入同樣的sql語句,這次中文出現亂碼,查詢結果不能正常顯示,如圖:
3.檢視當前資料庫編碼方式,語句是"show variables like "%character%"",從中可以看出,資料採用的編碼方式是utf-8,而我們知道,cmd預設採用的編碼方式是gbk,所以出現中文亂碼,不能正常顯示中文:
4.發現問題所在後,在輸入sql語句前,可以進行一下編碼設定,設定成與cmd預設編碼方式一樣,就不會出現中文亂碼現象,命令是"set names gbk",如下:
至此,中文就能正常顯示了,之所以中文顯示亂碼,歸根結底還是編碼方式衝突造成的,cmd中經常會出現這種情況,你設定一下編碼就行,linux系統採用的是utf-8編碼,出現中文亂碼的情況較少,除非你設定資料庫的編碼方式不是utf-8。這裡需要注意的是在你建立資料庫的時候,就要注意編碼的設定,有些時候資料庫預設編碼不是utf-8,而你又不指定,很可能就會出現亂碼,而這種情況下,一般不仔細檢查還發現不了,這時候你就得好好看編碼了,希望以上分享的內容能對你有所幫助吧。
你說的應該是中文顯示亂碼吧,這個主要原因應該是mysql資料庫的編碼方式和系統自身的編碼方式衝突造成的,如果資料庫的編碼是utf-8,而系統自身的編碼是gbk,那查詢的時候中文很可能就會顯示亂碼,下面我大概介紹一下檢視編碼和設定編碼的步驟,實驗環境win7+mysql5.5+navicat,主要步驟如下:
1.先在navicat中檢視要查詢的資料,如下,資料顯示正常,中文未出現亂碼:
2.開啟cmd,連線mysql,輸入同樣的sql語句,這次中文出現亂碼,查詢結果不能正常顯示,如圖:
3.檢視當前資料庫編碼方式,語句是"show variables like "%character%"",從中可以看出,資料採用的編碼方式是utf-8,而我們知道,cmd預設採用的編碼方式是gbk,所以出現中文亂碼,不能正常顯示中文:
4.發現問題所在後,在輸入sql語句前,可以進行一下編碼設定,設定成與cmd預設編碼方式一樣,就不會出現中文亂碼現象,命令是"set names gbk",如下:
至此,中文就能正常顯示了,之所以中文顯示亂碼,歸根結底還是編碼方式衝突造成的,cmd中經常會出現這種情況,你設定一下編碼就行,linux系統採用的是utf-8編碼,出現中文亂碼的情況較少,除非你設定資料庫的編碼方式不是utf-8。這裡需要注意的是在你建立資料庫的時候,就要注意編碼的設定,有些時候資料庫預設編碼不是utf-8,而你又不指定,很可能就會出現亂碼,而這種情況下,一般不仔細檢查還發現不了,這時候你就得好好看編碼了,希望以上分享的內容能對你有所幫助吧。