2010-05-03 51 views
0

我正在使用ZF編寫Web應用程序,並且遇到了UTF8的嚴重問題。它通過Zend Form使用多語言內容,似乎ZF很大程度上逃避了所有這些角色,並且如果存在變音元素「é」,並且如果我使用與HTML相對應的實體,則基本上不會顯示字段。 é它會被轉義,以便用戶看到'é'。UTF8字符集,變音符元素,轉換問題 - 以及Zend Framework表格轉義

Zend Form允許非轉義的數據,但試圖使用這是令人困惑的,它似乎需要在整個地方使用。

所以,我被告知,如果頁面和文本是UTF8,不需要轉換爲htmlentities。這是真的?

如果最後一個問題是真的,那麼我如何將源文本轉換爲UTF8?我很舒服地設置Apache,以便它發送一個默認的UTF8字符集標題,並且還將字符集meta標籤添加到html中,但是這樣做我仍然搞亂了編碼。我也曾嘗試在OSX上的TextWrangler中以UTF8格式打開翻譯csv文件,但它沒有做任何事情。

謝謝!

大號

+0

你能展示Zend的轉義輸出是什麼樣子嗎? – 2010-05-03 10:48:23

回答

1

'e' 和,如果我例如使用HTML實體等效它會被轉義,以便用戶看到'é'。

這我不明白。你能舉出一個如何顯示它的例子,而不是它應該如何顯示?

所以,我被告知,如果頁面和文本是UTF8,不需要轉換爲htmlentities。這是真的?

是。更詳細地說:如果您顯示的數據和HTML頁面的編碼都是UTF-8,則多字節特殊字符將正確顯示。

如果最後一個問題是真的,那麼我如何將源文本轉換爲UTF8?

高級編輯器和IDE使您可以定義源文件的保存編碼。您需要以當前編碼打開文件(特殊字符顯示正確)並將其另存爲UTF-8。

如果在指定了正確的內容類型標題和/或元標記時內容混亂了,那麼內容還不是UTF-8。如果你沒有得到它的排序,發佈一個這裏看起來像樣的例子。

+0

非常感謝,Pekka。我設法解決了這個問題,確保每個人都是UTF8,包括源文件。 – user307927 2010-05-07 09:07:48