2013-02-25 53 views
0

我正在使用以前使用的自制代碼的UTF8_unicode數據庫。所以數據庫非常好,我可以獲取我的數據並毫無問題地顯示它。帶代碼點火器的UTF-8

我想切換到CodeIgniter。我已經改變了database.php和config.php使它顯示UTF8,但它不工作。如果我想能夠正確顯示我的數據,我必須在我的控制器內部使用utf8_decode。任何想法爲什麼?現在這讓我瘋狂。

+0

.php'應該足夠了,我不確定'utf8_decode'在這種情況下是否有用。 – complex857 2013-02-25 13:16:50

+0

@ complex857是的,它應該夠了,但事實並非如此。我嘗試通過CodeIgniter的Active Records插入數據,並將其插入爲普通數據(如果我在Mysql中顯示「ééééééàààuùuü」(不是UTF8字符))。 – 2013-02-25 13:21:14

+0

「不起作用」是什麼意思?它顯示任何東西?什麼?它只是一個頁面編碼問題 - 你可以改變瀏覽器編碼,看看它? – jmadsen 2013-02-25 13:26:52

回答

0

瀏覽網頁後,我找到了很多解決方案!

CodeIgniter使用mysql_query("SET NAMES utf8")與mysql服務器進行通信。所以如果你以前從來沒有用過這個,那就搞亂了一切。我不知道我將如何處理它。

我也做:

ALTER TABLE p1x3l_posts MODIFY texte TEXT character set latin1; 
ALTER TABLE p1x3l_posts MODIFY texte BLOB; 
ALTER TABLE p1x3l_posts MODIFY texte TEXT character set utf8; 

,並糾正了我的數據。在'app/config /數據庫'中使用'$ db ['default'] ['char_set'] ='utf8';````db ['default'] ['dbcollat​​'] ='utf8_general_ci'`來創建