![]() |
MYSQL編碼?
我記得之前安裝的時候是用BIG5碼作為基礎,
但是後來的程式都是UTF8, 造成後來的程式顯示都是亂碼, 我想請問可以將資料庫改成UTF8嗎? 那原本BIG5的資料會變亂碼嗎? 是否有其他方法可修改? 我是有查到一篇用手動改法, 只是我不清楚怕毀了資料...... (我已經毀掉過兩次了 :56gtyhu: ) |
你的程式是用?
我試過php,如果要用utf-8的話要加入三行程式 |
引用:
|
在資料庫內的資料表要存成utf8_bin
還有在做網頁時,你的存檔文件也要是utf-8,像 這樣FrontPage會自動存成utf-8的格式 如果是記事本,也要手動改變成utf-8的編碼 在程式內,要讀取mysql裡的utf8編碼文字,加上這三行會比較好 PHP 語法:
|
引用:
1. 可以改成 UTF-8 2. 有些字的前面會自動被加上 \,所以你要自己手動去改那些字,eg.許、功、蓋等 3. phpbb2 本身要改編碼 4. MySQL 本身也要改編碼 5. 以上有個環節出錯,你的資料庫就毀了,請先做好備份 == 接下來開始教你實戰過程XD 1. 請先把資料庫使用 mysqldump,以 latin1 格式備份出來(資料庫預設都是使用 latin1) mysqldump --all-databases --default-character-set=latin1 -u root -p > mysql.sql 注意,這一步沒做,你轉換一定失敗。 2.把資料表的編碼修正為 UTF8 找出下列幾行,並將所有的 latin1 改為 utf8 s/SET NAMES utf8 s/ENGINE=MyISAM DEFAULT CHARSET=utf8 s/ENGINE=InnoDB DEFAULT CHARSET=utf8 s/ENGINE=MEMORY DEFAULT CHARSET=utf8 3.實際進行轉換(big5 -> utf8) iconv -c -f big5 -t utf8 mysql.sql > mysql_utf8.sql 4.修改 MySQL 啟動參數 [client] default-character-set = utf8 [mysqld] character-set-server = utf8 collation-server = utf8_general_ci init-connect='SET NAMES utf8' 5. 執行 show variables like 'character\_set\_%';觀察結果是否為下表所列。 +--------------------------+--------+ | Variable_name | Value | +--------------------------+--------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | +--------------------------+--------+ 6. mysql -u root < mysql_utf8.sql 恭喜你,資料庫轉換完畢 ^^a == 還有不懂的地方可以參考這本,寫得很棒,目前啃過的MySQL書就這本最優 ![]() 什麼都要懂、什麼都要會 您好,我是萬能小叮噹XD |
引用:
引用:
因為忘了說我系統是WIN2K的,使用APPSERV 2.4.5 上面這些指令看起來像linux.... 這樣我會不會被痛扁阿 :toomuch: |
引用:
但是 phpbb2 本身的編碼設定記得要改 引用:
引用:
引用:
== 最後,真的不行的話,直接把 DB 丟過來,我幫你轉比較快 前一陣子才剛把 latin1 資料庫整個升級成 UTF8,目前戰意高昂中XD |
引用:
若不行就只好請您幫忙了 請問一下,用PHPBB的內建備份就可以,還是要整個SQL的FOLDER拷貝出來? |
引用:
我試過了,語法完全一樣 ^^a 1.備份請不要使用 phpbb,請使用 MySQL 提供的備份工具:mysqldump 2.請勿使用 binary copy(就是直接複製),MySQL 的 Storage Engine 不一定可以 portable,請使用 引用:
|
這幾天比較空時我研究一下再向您請教,感謝喔
|
所有時間均為台北時間。現在的時間是 03:35 PM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *