2011-02-04 77 views
0

我有似乎與WordPress有關的問題,雖然它可能是別的。WordPress的編碼問題

這裏發生的事情:

我有使用UTF-8字符(簡單的像「)職位博客。這些字符當前都能正確顯示,但是我將我的網站移動到另一臺服務器,並看到所有utf-8字符('變成')的問題。

我首先想到的問題是與MySQL,但看着它後,似乎並非如此。我通過與Navicat進行同步來創建新數據庫,並確認db和所有表都是utf-8。當我在任何SQL程序中查看任何一個數據庫中的數據(Sequel Pro,Navicat)時,字符都顯示爲未編碼(?)。我嘗試了各種同步方法,其中包括其他人說的解決編碼問題的方法,但它們不適用於我。

什麼證實了我,是建立一個測試php腳本,從每個數據庫拉一個post_content字段。在測試腳本中,字符顯示編碼('),無論它們來自哪個數據庫。

我檢查了Apache配置文件,發現兩個系統上的HTTP_ACCEPT_CHARSET設置爲相同(ISO-8859-1,utf-8; q = 0.7,*; q = 0.7)。

Soooo,我還以爲這是一個WordPress問題,當然我可能是錯的。

任何幫助,將真正的讚賞,IA€™一直在敲我的頭這一段時間了;)

感謝。

回答

0

所以,我終於結束了使用插件來解決問題。以下是我採取的步驟:

  1. 使用Navicat for MySQL(雖然我認爲任何複製方法都可以),將舊數據庫的結構和內容遷移到新數據庫。
  2. 變化的wp_posts表中的列的編碼爲utf8使用ALTER TABLE 'wp_posts' CHANGE COLUMN 'post_content' 'post_content' longtext CHARACTER SET utf8 NOT NULL after 'post_date_gmt';
  3. 使用ISO to UTF content plug in任何非編碼字符innthe錶轉換爲UTF字符。
0

您所看到的是UTF-8數據被解釋爲ISO-8859-1(或Win-1252或其他單字節編碼)。像這樣的問題幾乎總是發送到瀏覽器的標題和實際編碼之間不匹配。在實際發送UTF-8的同時,某些內容告訴瀏覽器該流是ISO-8859-1。

+0

謝謝吉姆。我研究過它。兩臺服務器都發送一個Content-Type文本/ html的頭文件; charset = UTF-8和轉碼編碼(如果有問題)。你還會推薦我尋找什麼? – evanmcd 2011-02-04 21:51:56