程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 網上一次MySQL中文亂碼問題的處理過程

網上一次MySQL中文亂碼問題的處理過程

編輯:MySQL綜合教程

網上一次MySQL中文亂碼問題的處理過程
  1 企鵝上朋友問我MySQL查詢出來的數據在工具裡面出來的是亂碼,如圖所示:   2 讓他去檢查mysql服務器的字符集設置,可以看到都是utf8正常的,如圖所示:   3 我猜測一定是數據錄入的時候出的問題,朋友說是通過source方式錄入的,然後我去linux服務器上面檢查導入的數據文件: more /opt/soft/20130821ajtdrz_1.sql: 如圖所示:   4 然後我讓他把文件下載從服務器下載下來在本地看看,他下載下來之後,顯示如圖正常:   5,奇怪了,而且 而且網站前台顯示也是好的,不過這個情況也不是不能解釋,原來做短信系統有過類似的經歷,就是錄入的和網頁前台顯示的編碼如果是一致的話,不管你中間存儲的是什麼類型,那麼即使通過別的工具看到的是亂碼,但是網頁前台一定顯示是正常的。我讓他看下他的editplus下面sql文件編碼格式是否是utf8格式的,如圖所示:   看到這裡他保存的編碼格式也是utf-8的啊,怎麼會傳入到linux下變成亂碼了呢?   6, 我去看linux下面的語言格式 [root@AY13080711045157190fZ soft]# echo $LANG
en_US.UTF-8 看到這裡我推斷出2個原因 1 不是zh_US.UTF-8模式的。難道是中文安裝失敗導致傳到linux上面的sql文件是亂碼的形式的嗎? 2 要不就是傳過來的sql文件保存格式有問題。(但是朋友說了保存格式正確,這點也許概率不大)   7, 我上網google了很多資料,發現如果是en_US.UTF-8語言模式下,是可以正常顯示漢字的只要,傳上來的sql文件的編碼模式是linux模式的utf8編碼就行了,到此我可以判定很大概率是朋友上傳得sql文件有問題的。我讓他方便的話把文件發給我,我在這邊檢測下他的sql文件。結果這兄弟,沒有回復了,估計是有要事走開了。   8,1個半小時後,這兄弟回來了,跟我說:“不好意思啊。這麼晚回你 。剛開回去了,問題解決了, 是我文件編碼問題。我另存為下utf8 完了再傳上去就好使 了。”,就發圖給我如下:   總結如下:中文顯示亂碼,大概有這麼幾個方面 1 服務器端字符串設置,一般統一為utf-8 2 client端字符串設置,看是否為utf8 3 上傳的數據的編碼模式,一定要選與服務器端的編碼模式一致。

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