2011-05-17 83 views
0

我正在面對我的項目中的一個小問題當我試圖存儲一些德語單詞進入MYSQL數據庫。當這個德語單詞包含變音符號即字符ä,ö,ß,ü等,他們不存儲,因爲他們是 .....?將德語單詞存儲到MySql DB中時出現問題....?

我想存儲它們,因爲它是到Database.To這樣做,我試圖改變COLLATION to UTF8-general-ci, and others in the list using PHP myAdmin。但是他們都沒有爲我工作。

我是以正確的方式還是我必須做別的事情。

請建議一些幫助。

在此先感謝......

+0

DUP DUP DUP search internazionalization php utf-8 here or google – dynamic 2011-05-17 08:35:36

回答

1

年前我遇到了同樣的問題。我已經通過隱式設置mysql的NAMES選項來解決它。在我的代碼,它看起來是這樣的:

//內AbstractMapper類

public function __construct($modelClass, $dbTable) { 
$this->setDbTable($dbTable); 
$stmt = new Zend_Db_Statement_Pdo($this->getDbTable()->getAdapter(), 'set names utf8'); 
$stmt->execute(); 
$this->_model_class = $modelClass; 
} 
3

您必須選擇正確的傳輸編碼。在插入數據之前確保德語單詞是utf8編碼,請撥打

SET NAMES utf8 

0

連接到數據庫,使用下面的代碼後:

SET NAMES XXX 

與你的工作字符集替換XXX。

1

嘗試使用utf8_encode($string)先將文本編碼爲UTF8,然後再將其保存到數據庫中。爲了使字符以某種語言正確顯示,您必須(1)將文本設置爲正確的字符集,然後(2)將數據庫設置爲正確的字符集(與您一樣)。

另外,例如,文件display.php將輸出德文文本,您可以在任何編輯器(EmEditor?)中打開該文件,然後「另存爲」,選擇一個正確的編碼方案。之後,顯示文件在輸出文本時會照顧字符集。

相關問題