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

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

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

  3. 妳的 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

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

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

    『utf-8′ => 『latin1′,

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

  5. 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

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

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

  7. 某位使用者的見證:

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

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

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

Leave a Reply

Your email address will not be published.

*