返回列表 發帖

 

 

WP轉換到 HostMonster 虛擬主機的 文字亂碼問題


紀錄一下,剛好自己遇到這樣的問題,又找到有相關得解決方法,雖然用的是不同的虛擬主機,不過解決方法有效。




-----------------------------------
轉貼自:http://zhiqiang.org/blog/359.html

搞定亂碼,WordPress搬家到dreamhost

兩個月前一時衝動,花了大約80大洋買了一年的dreamhost主機。 剛買的時候就試圖把Blog搬到它上面去,不過由於數據庫的亂碼原因,一直沒有成功。最近,多個電信的朋友告訴我我的Blog速度「慢得不能忍受」,今天 下午下定決心搞定數據庫,哪知道一下子就弄了4個小時,到現在才基本上搞定。現在正式進入測試期,歡迎報告Bug和異常情況。

先說一下我是怎麼解決數據庫亂碼問題的。最開始的時候在phpmyadmin裡面直接導入備份文件(使用WordPress自帶的database backup生成),最後文章裡面大部分顯示正常,但是間或的有些漢字變成了亂碼(在FireFox下變成兩個?號)。在無數次失敗的嘗試和Baidu的 幫助下,最後找到解決方案:

  1. 使用WordPress自帶的database backup生成備份文件(打開這個文件,裡面中文是正常的,而如果直接從phpmyadmin裡面導出數據庫,中文都是亂碼)。
  2. 在phpMyadmin中設定MySQL 字符集: UTF-8 Unicode (utf8) (一般來說默認就是這個)
  3. 在phpMyadmin中設定MySQL 連接校對: utf8_general_ci
  4. 用文本編輯器如EditPlus 打開備份的數據庫文件,查找"DEFAULT CHARSET=latin1" 用"DEFAULT CHARSET=utf8"替換。
  5. 用phpMyadmin導入上面修改過的備份文件。
  6. 修改wp-includes/wp-db.php內的資料連線設定。詳細的修改方式是這樣的:
    $this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
    //加上下面這行
    $this->query("SET NAMES 'utf8'" );

這樣做之後,不但頁面上沒有亂碼,在數據庫裡面也可以直接看到中文。另外,在解決過程中得到了LuciferSunwell幫助,關鍵的一步從wordpress恢復數據庫後亂碼問題的解決看來的,一併表示感謝。

我和Dreamhost:

  • 我上Dreamhost還是太慢了,特別是它的FTP,無法忍受。
  • Dreamhost的CPU速度比我原來的實驗室的服務器還要慢,看看頁面生成時間,有時候竟然需要2秒以上,鬱悶。
  • Dreamhost的服務器在國外,教育網訪問需要代理,包括我自己,
  • 不用擔心備案問題了,不過我擔心Dreamhost整體被封。
  • 十個月後空間到期後咋辦呢?對我來說,搬家很快的,拎著數據庫跑就行了。圖片啥的我都放到Flickr和Picasa Web上了。不過尋找新空間是個大問題,暫時不管了。

另外,Dreamhost的unix主機的文件名是分大小寫的,結果導致我有些ajax程序異常,不過現在已修正。

http://zhiqiang.org/blog/359.html

返回列表