![]() |
| | #1 |
| Member 註冊日期: 2007-04-19 住址: www.52gc.cn
文章: 54
|
論你是使用 vBulletin, PHPBB, Dicuz 或是其他論壇程式,也不論你在論壇程式上面做了什麼樣的設定,只要你沒有改過 MySQL 的系統設定檔,那麼 MySQL 預設使用的編碼(Character Set)就是 latin1。如果你很想確定自己正在使用的資料庫之編碼,你可以使用以下的方式進行確認:(在此假設你的資料庫名稱為 example) 檢查 MySQL 資料庫的編碼 一、使用 phpMyAdmin 二、使用 mysql client program 請注意,你的資料庫所使用的編碼不一定會和 MySQL Server 所使用的編碼相同。它們之間的關係是這樣的:若 MySQL Server 預設使用 latin 編碼,而你在建立資料庫時(CREATE DATABASE XXX...)若沒有指定要使用的編碼,那麼該資料庫就會預設使用與 MySQL 相同的編碼,在本例中就是 latin1。反之,雖然 MySQL Server 預設使用 latin 編碼,但若你在建立資料庫時有明確的指定所要使用的編碼(CREATE DATABASE XXX CHARACTER SET UTF8),則該資料庫所使用的編碼就會是你所指定的編碼。 當你確認自己資料庫的編碼不是你原來打算使用的編碼,例如目前是 latin1 或 big5 等等,但你真正想要(或必須)使用的編碼是 UTF8,此時你就必須進行資料庫編碼轉換。接下來就開始介紹資料庫轉換的詳細步驟:(在此假設你的資料庫名稱為 example) 資料庫編碼轉換的詳細步驟 一、用 mysqldump 將原本的 latin1 資料庫備份成一般的文字檔案 引用:二、將 example.sql 這個文字檔案中,有關 character-set 的部份全部修改為 utf8 例如 SET NAMES latin1 改成 SET NAMES utf8;DEFAULT CHARSET=latin1 改成 DEFAULT CHARSET=utf8三、修改 MySQL Server 的系統設定檔 修改 /etc/my.cnf:四、重新啟動 MySQL,一定要記得重新啟動,不然之前的設定不會生效。 五、檢查 MySQL Server 的編碼是否已為 utf8 執行以下的 SQL 指令:SHOW VARIABLES LIKE 'character\_set\_%'六、以 UTF8 編碼重新建立資料庫 執行以下的 SQL 指令:"CREATE DATABASE example;"七、把修改好的 example.sql 還原到新的資料庫中 mysql -u root -p example < example.sql八、使用 phpMyAdmin 檢查 utf8 資料庫是否可以正常顯示中文,若可以就表示成功。 |
| | |
| | #2 |
| Junior Member 註冊日期: 2009-04-02 住址: 無
文章: 1
|
請問,如果使用free hosting的mysql資料庫 編碼設定如下: character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server latin1 character_set_system utf8 是否代表最後存入資料庫的編碼仍為latin1? 因為該服務不接受手動更改編碼設定 應該如何在該服務上面建立中文資料庫? 是否有解決的辦法? |
| | |
| | #3 |
| Junior Member 註冊日期: 2007-07-24 住址: tfnd.net
文章: 5
|
關注 小弟也遇到一樣的問題 升級後前後台都成了亂碼 翻許多網頁試出來的結果跟樓上的大哥一樣 請問該怎麼救? |
| | |