程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 頁面出現Incorrect string以及數據庫內容亂碼,incorrectstring

頁面出現Incorrect string以及數據庫內容亂碼,incorrectstring

編輯:MySQL綜合教程

頁面出現Incorrect string以及數據庫內容亂碼,incorrectstring


我在制作格斗人網 (www.helpqy.com) 的時候遇到了頁面報錯Incorrect string的問題,我使用的是mysql,數據表中有很多中文內容,最後發現在安裝mysql的時候需要選擇default collection,主要有兩種選擇,一是latin1,主要用於純洋文的網站中,二是UTF8,主要用在中文或者中英混合的網站中。我重新安裝了mysql,並且選擇default collation為UTF8,問題得以解決。

調試過程中又遇到另外一個問題,即頁面從數據庫中讀取的中文內容顯示為亂碼,最後發現在數據庫中,准確的說是數據庫中的某一個表中,同樣有collation選項,然後具體到每一個字段同樣有collation選項,開發者需要根據實際情況進行調整,便可以解決問題。

 


頁面提交中文內容,頁面與數據庫"中文"內容亂碼

localhost:3306/數據庫名?characterEncoding=utf-8(跟頁面的編碼一樣)
如果還是不行就寫個過濾器,過濾一下就ok了。
有什麼不明白的可以直接問我。
參考資料:天高雲淡(◆ノSimply)
 

在PHP頁面顯示數據庫內容時 頁面中文部分出現亂碼

一般來說,亂碼問題其實也就是編碼不一致導致的。因此,要解決PHP中文亂碼問題,解決步驟有如下幾步:

1. 頁面聲明的編碼 與 數據庫內部編碼 一致

比如: 你的網頁裡設置 charset = gb2312,然而,你的數據庫使用utf-8,那麼,如果不進行iconv轉換的話,顯示出來可能就有問題。

2. 頁面文件的編碼 與 頁面聲明的編碼 一致

比如,你的網頁文件為 test.php,該文件用 UTF-8B 格式保存,而如果你的網頁裡設置 charset = gb2312,那麼可能顯示也不正常。

從你的問題描述來看,“PHP中非數據庫導出的部分 其中文顯示正常 ”,據此可以確定頁面文件編碼與頁面聲明編碼一致,那麼,問題原因就在於:

頁面聲明的編碼 與 數據庫內部編碼 不一致造成的。

你可以查看下,你的 數據庫編碼格式 與 網頁定義的編碼。
 

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