2010-01-23 59 views
1

我讀過一些文章,因爲它支持字符集,因此在php中推廣使用新的ext/mysqli。我目前使用ext/mysql並使用SET NAMES UTF-8來確保我所有的數據都存儲爲utf-8。是不是在ext/mysql中的字符集支持或我缺少更大的東西?ext/mysql字符集支持vs ext/mysqli字符集

謝謝:)

回答

1

SET NAMES UTF-8並沒有意味着數據存儲在UTF-8。這意味着數據以UTF-8從客戶端獲得,並以UTF-8以客戶端爲單位服務。

當你創建一個數據庫/表/行

CREATE TABLE{ 
    ... 
}CHARSET=utf8; 

CREATE DATABASE DEFAULT CHARACTER SET utf8 

這裏閱讀

存儲編碼設置,例如:Mysql: latin1-> utf8. Convert characters to their multibyte equivalents


2里昂 mysql會很好。

請再次檢查表和行的編碼,例如phpMyAdmin。請記住,將編碼設置爲數據庫不會自動更改表格的編碼。如果沒有指定表編碼,它僅用於默認值

+0

謝謝丹。我現在更瞭解它。我實際上已經配置mysql來使用DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; 回到我真正的問題,是不是應該使用mysqli,如果我想要完整的unicode支持?或者,MySQL可以做到這一點呢?謝謝:) – Lyon 2010-01-24 04:51:05

+0

我已經用phpmyadmin也檢查過它。欣賞Dan的頭像:)謝謝! – Lyon 2010-01-24 15:03:09