2012-05-11 18 views
0

我試圖設置Zend表單爲我工作。我使用相同的表單來插入和編輯特定的數據庫對象。該對象具有名稱,我可以輕鬆地創建一個名爲「Ülo」的新對象。它可以正確保存在數據庫中,當我獲取它在報告中顯示時,它會顯示correloty「Ülo」。問題在於表單。當我打開編輯表單時,名稱元素爲空。所有其他元素正確顯示,如果我改變他們有「ü」他們也顯示爲空。表單元素標籤也是一樣。當我將標籤設置爲包含「ü」時,它不會再顯示標籤。Zend Framework表單不呈現像(ä,ö,ü等)特殊字符 - 使表單元素值爲空

例如,如果我有$name->setLabel('Nameü: ');,那麼它不會顯示標籤,但當我將其更改回$name->setLabel('Name: ');時,它會顯示correclty。

同樣的事情,當我有$bcrForm->name->setValue('Ülo');它不顯示值,但當我改變它爲$bcrForm->name->setValue('Alo');它顯示正確。

我該如何解決它才能正確顯示?它似乎是某種形式呈現問題。

回答

0

您是否檢查過編碼?嘗試添加此頭...

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
0

確保兩個腳本和查看文件進行編碼的UTF-8和你到你的數據庫連接設置爲UTF-8。

如果你正在使用MySQL,你強迫它通過開擴一個數據庫連接並運行返回UTF-8的數據:SET NAMES 'utf8'

或使用的mysqli有:mysqli_set_charset('utf8');

0

我會檢查:

  • view charset
  • 數據庫字符集(後端)
  • Zend_Db_Adapter字符集
  • 文件的字符集

視圖逃逸方法設置爲期望UTF8字符,並且可以剝離別的(即。單字節奇怪的字符):)

1

此人幫助解決這對我來說:

確保這些設置在/etc/php5/apache2/php.ini和/etc/php5/cli/php.ini:

default_charset = utf-8 
相關問題