2010-11-09 25 views
0

我正在開發一個使用Zend Framework的巴西字符網站,我的導航菜單項在數據庫中。Zend_Navigation和字符編碼的麪包屑

我已經在HTML元標記,文件本身和我的數據庫中檢查了我的字符編碼。一切都被設置爲UTF-8,我的整個網站被渲染罰款(包括已經重音字符我的菜單項使用Zend_Navigation渲染麪包屑

AlthoughI'm和它不會很好見下圖:。

alt text

Missão是我在我的數據庫。不幸的是,它沒有成爲ã吧。我不知道爲什麼。


我m也在我的管理模塊中使用Zend_Navigation來完美呈現Breadcrumb和Menu。不同的是,我在我的管理模塊中使用XML,在我的默認模塊中使用了數組(這是有問題的)。

我嘗試使用Zend_Config_Writer_Xml從Config對象編寫XML。然後,我檢查了這個文件,它的寫法是正確的:<label>Informa&ccedil;&otilde;es</label>。儘管爲了使XML正確呈現,只需編寫<label>Informações</label>就足夠了(這就是我在管理模塊導航XML中所具有的功能)。

那麼,如果我直接在數組中寫Informações然後要求它寫XML?我試過這個,我得到了<label>Informa&#xE7;&#xF5;es</label>,這也不起作用。

我想拿出一個解決方案「因爲我的時間不多了

回答

0

我想說的麪包屑助手被自動轉義輸出。 There is a hardcoded call to escape() in renderStraight()。您可以通過查看源代碼進行驗證,然後查看&是否爲&amp;

如果你已經在使用UTF-8,你不應該爲你的特殊字符使用實體。只要使用他們的常規表示。繞過XML將其轉換爲實體make sure the XML file is set to write UTF-8

如果這一切沒有幫助,check that the webserver is serving the Response in UTF-8。元標記只是後備,如果Web服務器發送編碼,將不會被考慮。雖然這不太可能是其他實體顯示正常的原因。