主題: mysql41與UTF8編碼,校對的問題 作者: ericj 於 七月 21, 2005, 02:26:01 下午 要怎樣設定 mysql-41 才能夠讓 plog 存的中文字正常的出現在database裡 Orz
雖然網頁上看起來沒問題,但是看到資料庫裡面一堆亂碼心情就是不太好阿.... MySQL 文字編碼: UTF-8 Unicode (utf8) MySQL 連線校對: utf8_general_ci table裡column的校對也設成 utf8_general_ci 為什麼網頁上的資料塞進DB後還是亂碼阿阿阿阿阿阿.... 請問有人知道database這邊該怎麼設定嗎?我是用phpMyAdmin來管理MySQL的. 主題: Re: mysql41與UTF8編碼,校對的問題 作者: james 於 七月 22, 2005, 06:49:55 上午 引用自: ericj 要怎樣設定 mysql-41 才能夠讓 plog 存的中文字正常的出現在database裡 Orz 雖然網頁上看起來沒問題,但是看到資料庫裡面一堆亂碼心情就是不太好阿.... MySQL 文字編碼: UTF-8 Unicode (utf8) MySQL 連線校對: utf8_general_ci table裡column的校對也設成 utf8_general_ci 為什麼網頁上的資料塞進DB後還是亂碼阿阿阿阿阿阿.... 請問有人知道database這邊該怎麼設定嗎?我是用phpMyAdmin來管理MySQL的. 試試看這個方法,當你在用phpMyAdmin來看資料庫時,將browser的編碼手動改成UTF8應該就可以看到正常顯示的中文字了。 James. 主題: mysql41與UTF8編碼,校對的問題 作者: markwu 於 七月 22, 2005, 03:33:26 下午 如 James 說的你的 phpmyadmin 的語系必須選繁體中文(UTF-8) 才行。假設你已經選了繁體中文 utf-8 語系,那麼另一個可能是你的 mysql defaultcharset 並非 utf-8 編碼。所以顯示出來是錯的!
Mark 主題: mysql41與UTF8編碼,校對的問題 作者: ericj 於 七月 24, 2005, 09:31:21 下午 引用自: markwu 如 James 說的你的 phpmyadmin 的語系必須選繁體中文(UTF-8) 才行。假設你已經選了繁體中文 utf-8 語系,那麼另一個可能是你的 mysql defaultcharset 並非 utf-8 編碼。所以顯示出來是錯的! Mark 我找到問題的原因了 :-D 答案在這篇文章就有提到了 http://forum.lifetype.org.tw/index.php?topic=47.0 mysql-4.1x 多了collation和charset的設定 除了connection要設定為utf-8外,每個欄位的校對(collation)也都要設成utf8_general_ci 另外光是這樣的設定plog預設存進mysql-4.1x 的中文在phpMyAdmin裡面看來還會是亂碼 但是讀取還是正常.. 要解決的辦法就是像上面那篇文章說的. 修改class/database/adodb/drivers/adodb-mysql.inc.php 加上@mysql_query("SET NAMES 'utf8'", $this->_connectionID); 的判斷.. 詳細的作法請看原作者的文章... 我只有做第一個的修正,增加了兩行SET NAMES的設定而已. 我的作業環境是 FreeBSD 4.11 RELEASE , apache2 + mod_php4.4.0.1 + plog 1.0.1 with ports , Mysql-server 4.1.13 主題: mysql41與UTF8編碼,校對的問題 作者: markwu 於 七月 24, 2005, 10:17:49 下午 引用自: ericj 引用自: markwu 如 James 說的你的 phpmyadmin 的語系必須選繁體中文(UTF-8) 才行。假設你已經選了繁體中文 utf-8 語系,那麼另一個可能是你的 mysql defaultcharset 並非 utf-8 編碼。所以顯示出來是錯的! Mark 我找到問題的原因了 :-D 答案在這篇文章就有提到了 http://forum.lifetype.org.tw/index.php?topic=47.0 mysql-4.1x 多了collation和charset的設定 除了connection要設定為utf-8外,每個欄位的校對(collation)也都要設成utf8_general_ci 另外光是這樣的設定plog預設存進mysql-4.1x 的中文在phpMyAdmin裡面看來還會是亂碼 但是讀取還是正常.. 要解決的辦法就是像上面那篇文章說的. 修改class/database/adodb/drivers/adodb-mysql.inc.php 加上@mysql_query("SET NAMES 'utf8'", $this->_connectionID); 的判斷.. 詳細的作法請看原作者的文章... 我只有做第一個的修正,增加了兩行SET NAMES的設定而已. 我的作業環境是 FreeBSD 4.11 RELEASE , apache2 + mod_php4.4.0.1 + plog 1.0.1 with ports , Mysql-server 4.1.13 mmm ..... 這個在 1.0 與 1.02 已經加入了。 1.0.1 時有人很頑皮的把 adodb 升級後忘了作 patch。 Mark 主題: Re: mysql41與UTF8編碼,校對的問題 作者: dekuo 於 一月 30, 2006, 10:14:46 下午 你們談的是資料庫用的是 mysql 4.1 以上, default charset = utf-8
我補充一下我的環境: 我的 LifeType 1.0.3 裝在 DreamHost (http://www.dreamhost.com/), 所以自己沒辦法去動到 mysqld 的 default charset, 而 DreamHost 預設的是 MySQL Charset 是 latin1 要讓 phpmyadmin 可以正確看到中文,要在使用 wizard.php 安裝之前, 先在 phpmyadmin 的管理, 把資料庫校對改成 utf8_general_ci , 改好之後再用 wizard.php 安裝, 裝出來的就是 Pure utf-8, 而且 phpmyadmin 看也都完全正常了 ... 相信很多人是用國外的主機, 都可以依照此法來設定 |