2012-09-20 54 views
2

我已經在database.php中設置了這個排序規則,並且在數據庫中設置了相同的規則: $ db ['default'] ['dbcollat​​'] ='latin1_german2_ci';數據庫中的codeigniter德語字符

當我插入它保存在數據庫作爲德國的字符:

Three Burials - Die drei Begr?bnisse des Melquiades Estrada 

但它應該是:

Three Burials - Die drei Begräbnisse des Melquiades Estrada 

我的查詢:

$this->db->insert('table',array('title' => $this->input->post('title'))); 

我該怎麼解決這個問題?感謝幫助。

回答

3

將排序規則設置爲utf8utf8_general_ci以及頁面編碼和字符集。

幾乎沒有任何理由使用其他任何東西,除非瘋狂地優化存儲效率。

+0

Thx,我用「utf8_general_ci」更新了數據庫和文件,但現在它插入了一半標題「Three Burials - Die drei Begr」 – user969068

+0

什麼是您的列的長度值?你是否已經更新了數據庫排序規則以及表格排序規則(它們可能不同)並在CodeIgniter數據庫配置文件中進行排序?此外,嘗試在插入後執行此操作:'die($ this-> db-> last_query());'看看究竟是什麼插入 –

+0

我使用了查詢「ALTER TABLE'電影'默認字符集utf8 COLLATE utf8_general_ci」,我的列是1000字符長varchar(1000)utf8_general_ci,並在配置$ db ['default'] ['char_set'] ='utf8'; $ db ['default'] ['dbcollat​​'] ='utf8_general_ci'; – user969068