2011-09-23 26 views
0

我得到奇怪的字符在我新鮮的本地WAMP安裝。我剛剛從ftp在線下載了所有.php文件,並在本地mysql服務器上恢復了備份。新鮮WAMP安裝中的奇怪人物?

enter image description here

PHP<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

MySQL的整理:這個問題只有在文本中包含符號或特殊字符發生latin1_swedish_ci

當然,在這個圖像有一個奇怪的符號「°」其中「°」和「€」是需要。這在Opera和Firefox中都有發生。

有什麼想法?感謝您一如既往的幫助。

+1

請參閱http://stackoverflow.com/questions/7501924/php-messing-with-html-charset-encoding – Fabio

+0

php文件中有一些這些字符?您可能需要以二進制模式而不是ascii模式下載並上傳它們。這可能會損壞文件中的某些字符。 – drew010

+0

@Fabio爲什麼我應該在網站完全在線工作時更改編碼?drew010我將檢查FileZilla,但大多數文本(如圖片中)來自數據庫,而不是來自php本身。 – gremo

回答

0

我會在這裏回答,因爲它太長了評論。

你不需要改變你的編碼,你應該檢查你的編碼。請記住,編碼可以在很多不同的地方改變:

任何這些原因都可能導致在Web瀏覽器中顯示錯誤的編碼。如果你沒有用一個或多個以前的方法指定它,相應的圖層將使用其配置的默認值。

在你的情況,因爲文本來自數據庫,因爲經常在WAMP/XAAMP/MAMP MySQL使用奇怪的默認編碼,我會檢查第一點。嘗試執行SET NAMES UTF-8(或任何您使用的編碼)查詢之前檢索數據,剛剛你的數據庫連接功能。

+0

明白了。我已將表(wp_posts ... wordpress one)的排序規則更改爲utf8_general_ci,但沒有任何更改。現在我在想,問題來自我用來恢復200M +數據庫的BigDump腳本......可以嗎? – gremo

+0

@Gremo也許,但你有沒有試圖以某種方式執行連接後的SET NAMES UTF-8查詢?如果這是一個WordPress數據庫,請試試這個[谷歌搜索](http://www.google.com/search?q=wordpress%20change%20mysql%20encoding) – Fabio