MySQL latin1 搬家計畫 還在努力中

5/24/07

幾個大家提供的文獻看了又看, 還是無法解決,就算用latin釋出再原封不動輸回,依舊變成亂碼. 本來以為可以像 [囈語二三]那樣, 將latin1以utf8倒出,但是我的老server沒有辦法讓我用commend line執行,不知道有沒有別的辦法?

但是,剛剛順利升級到2.2了. 我的template沒有支援sidebar widget, 以為升到2.2就自動有sidebar widget, 當然是異想天開,不過學到解決方法, 對於wordpress 1.5以後的版本, 都是要去改theme裡面的functions.php, 結果, 我的竟然沒有這個檔案, 索性直接將

<?php
if ( function_exists(‘register_sidebar’) )
register_sidebar();
?>

貼在新檔案命名為functions.php 竟然可以, 真是妙啊!

不過後來是用

<?php
if ( function_exists('register_sidebar') )
	register_sidebar(array(
		'before_widget' => '', // Removes <li>
		'after_widget' => '', // Removes </li>
		'before_title' => '<div class="title">', // Replaces <h2>
		'after_title' => '</div>', // Replaces </h2>
	));
?>

5/15/07

blog已經搬到media temple, 但是遲遲無法克服將wordpress中文MySQL順利搬出的問題, 參考了各家文獻, 還是沒辦法, 還不小心將另一個幫媽媽架的網站洗掉, 變成亂碼網站. 所以現在連線相當慢.

目前主要參考了以下

http://ria.richtechmedia.com/?p=192

http://ria.richtechmedia.com/?p=213

http://davidseah.com/archives/2006/09/22/moving-wordpress-databases/

但是 因為原本的server generate出來的MySQL就是latin語系, 現在真是完全救不出啊…

5.29.07 革命成功 救回來了!=>請看終極對策:

革命成功 ㊣ WordPress 2.x vs. MySQL 4.x 中文backup格鬥

Comments

comments

17 thoughts on “MySQL latin1 搬家計畫 還在努力中”

  1. 我看了妳提到的第一篇參考文章,有人回應說:

    剛剛把AppServ 升級….在 import wordpress 的資料發生了像版主一樣的情形…
    除了把mysql都設成utf8之外…
    另外還要在 wordpress(wp-includes/wp-db.php) 的程式在第44行加入…
    $this->query(”SET NAMES ‘utf8′”);
    才可以

    給妳參考一下…

    妳的 MySQL 是第幾版?在 Linux server 上嗎?

  2. 我以前的BLOG搬家的時候也遇到過這樣的困擾,舊的MYSQL版本太低,不過后來還是解決了,導出導入的時候都選用LATIN碼就行了。

  3. 用LATIN碼這樣用phpmyadmin看資料庫裡面的資料會是亂碼

    所以還是設定好正確的編碼比較好

  4. 佩,對了… 今天妳說妳用 XP 架站,有個地方要注意, XP SP2 以後會限制網路連線數目,因此要去下載下面這個 patch

    http://www.lvllord.de/?url=tools

    安裝時只要聽從它的指示,就能夠把連線數目調整到 50,這樣 blog 應該會快一些… ^^

    當然,網路卡的好壞也是有差的… 推薦 Intel 或 3Com 的晶片。

  5. 妳的 cmd line 不能用?

    難道妳的硬碟快爆滿了嗎?不然道出來的資料應該不會超過 1GB 以上吧…

    還是說妳的 web server 等等會用到資料庫的服務,沒有先關閉,所以無法備份出來?

    另外要注意 / ” 那是命令列提示符號,不是指令的一部份。

    mysqldump 的使用可以參考下面這一篇:

    * 用 mysqldump 備份還原 WordPress
    http://blog.roodo.com/justinlove/archives/3018575.html

    另外妳還可以用下面這篇所提到的,具有 GUI 界面的 MySQL Administrator 來備份資料庫,只是我不清楚是否有字元編碼的選項:

    * Backing Up Your Database | WordPress Codex
    http://codex.wordpress.org/Backing_Up_Your_Database

  6. 1. 進入 phpmyadmin 內一個名為 libraries 的子目錄 .. 編輯 select_lang.lib.php. 找到 $mysql_charset_map 這一段下方 ..

    『utf-8′ => 『utf8′,
    把它改成

    『utf-8′ => 『latin1′,

    然後存檔 … 這時候就可以發現原先的鬼畫符 … 這時候又都正常了.

  7. 2. 把資料庫的編碼轉成 utf8 …

    步驟:

    a. 把資料庫 dump 出來

    mysqldump -u xxx -p database > database.sql –default-character-set=latin1

    這時候 dump 出來的 database.sql 是 latin1 的檔案格式,然而是 utf8 的文字資料,因此這時若用 vi 開檔看它 …

    還是會發現中文字是鬼畫符 … 這時不要被眼前的假象所騙 … 以為自己做錯 .. 幾接著做下一步驟。

    b. 把 dump 出來的 database.sql 下載回去 .. 用 emEditor(網路上可免費下載,是個支援 utf-8 的編輯器)把 database.sql 打開,

    它可以正常識別 utf8 的文字 ..用取代的功能,把 latin1 都取代成 utf8 ,之後直接另存新檔 .. 這時把檔案類型設定儲存成 UTF-8。

    c. 再把 database-utf8.sql 上傳到 server .. 這時我們用 vi 開啟它 .. 就可以看見是正常的中文字 .. 這就表示檔案沒問題囉。

    d. 把檔案匯入資料庫

    mysql database

  8. 佩… 真奇怪,昨天下午貼的怎不見了… 昨天我請特休,詳情明天在跟妳說。

    找了一下,終於找到最簡單的方法了,請看(配合妳的狀況做了一些修改):

    http://iyee.cn/post/wordpress-mysql-utf8.html

    下面重點說說我是怎麼把Wordpress備份數據導入到另一台 Mysql【版本不同】的服務器。

    1. 用Wordpress 自己附上的Backup Plugin 將資料庫下載到本地磁碟上。

    用 EmEditor 打開下載回來的sql文件,令存新檔,在 Encoding 那裡選擇「UTF-8」

    2. 接第二步。修改 # Hostname:和 # Database: 成將要使用的 mysql 信息。

    然後尋找字段 DEFAULT CHARSET = latin1 ,找到一個【刪】一個(全部砍光喔)。

    3. 進入 phpmyadmin,將開始頁面切換成 chinese -utf8 模式,然後給 wordpress 建一個新的資料庫。

    4. 進入新建資料庫,點擊Import,把按照上述步驟改好的sql上傳上去,完成!

    試試看吧… 成功的話不妨報給大家知道。有問題在討論。

  9. 各位,就是沒辦法作到
    –> mysqldump -u xxx -p database > database.sql –default-character-set=latin1

    因為我的MySQL目前存的server:uplinkearth沒有提供SSH 我只能用myphpadmin連過去 所以有其他方法嗎? 這就是讓我困惑已許久的地方! Fish, 我是local測試才在xp,正式的blog是在mediatemple

  10. 佩… 我想整件事的問題在於,妳沒有把使用環境描述清楚,所以大家都繞了一大圈… :p

    我最後貼的那篇不需要用到 command line 下指令

    只要妳能夠將資料庫以 WordPress 內建的 Backup plugin 就能夠把資料匯出成檔案,然後進行修改囉!!!

    而且開新資料庫與上傳備份檔也是用 phpmyadmin ← 我不知道跟妳說得 myphpadmin 是同一個東西?

    只要能夠用它開一個 UTF-8 的新資料庫,並且以 UTF-8 編碼匯進去,我前面哪一篇講的方式依然有效!!!

    所以請妳參考那篇試著做做看吧..

  11. 對了,這裡還有一個好用的 WordPress 資料庫管理 plugin 可用,有人成功的用它匯入、匯出資料庫…

    在下面網站第二個程式:

    * WordPress 2.1 Plugin: WP-DBManager 2.10
    http://www.lesterchan.net/wordpress/readme/wp-dbmanager.html

    Manages your WordPress database. Allows you to optimize database, backup database, restore database, delete backup database , drop/empty tables and run selected queries.

  12. 某位使用者的見證:

    1.我發現用wordpress內建的backup plugin 備出來的中文沒有問題.

    2.然後在新的wordpress 安裝 WP-DBManager plugin, restore回去就OK了.

    ps. 用 WordPress 備份出來的檔案,如果匯入還是有問題,最好還是用我在 May 26th, 2007 提到的方式修改檔案,再 restore 回去…

Leave a Reply to pei Cancel reply

Your email address will not be published. Required fields are marked *