2010-09-29 23 views
2

我有一個網頁設置爲UTF-8。但其內容的部分內容(內置於PHP)來自iso-8859-1文件,因此無法正確顯示。一個HTML頁面內可以有多個字符編碼?

是否可以爲特定的頁面元素設置特定的編碼?

+0

定義「來自」。你如何準確地獲取外部內容? – 2010-09-29 16:10:01

+0

好吧,一堆元素存儲在一個文件,PHP解析以加載所需的值 – tool 2010-10-01 09:58:00

回答

1

您可以不通過直接包含該輸出,而是通過轉換腳本傳遞該php輸出。

PhP有一個體面的轉換功能mb_convert_encoding,可以使任務更容易。

+0

+1這是要走的路。 'mb_convert_encoding()'或'iconv()'會爲你排除所有麻煩。 – 2010-09-29 16:13:33

+0

我會那樣做,謝謝 – tool 2010-10-01 09:56:40

0

不,我不認爲這可以做到。由於您已在頁面內部使用UTF-8,因此如果您收到意外的結果,則在從其他頁面讀取內容時一定會出現問題。您不應該遇到任何UTF-8頁面的問題。

0

不,只能在一個頁面上使用單一編碼。您可能想將您的iso-stuff編碼爲由PHP生成的實體。

+0

我不能,這些文件也被其他網站使用,其中一切都編碼在ISO – tool 2010-09-29 13:31:12

0

您最終可能會使用iframe來顯示其他內容,因此您可以爲您需要的字符編碼設置元標記。

+0

我寧願不,但謝謝想法 – tool 2010-10-01 09:55:30

0

你如何將Latin-1文件插入到頁面中?如果你將它們加載爲文本,然後將它們包含爲文本,那麼我希望希望相關的轉換將爲您執行。如果你只是在沒有任何轉換的情況下包含這些文件,那確實是一個問題。

我不知道PHP使用什麼樣的內部文本格式(例如Unicode),但是如果你可以使用它作爲中間編碼,它應該沒問題。

+0

PHP加載文件的內容(項目列表)。我可以使用PHP來即時更改編碼。但我希望我可以只爲div添加一個屬性。 – tool 2010-09-29 13:34:19

+0

@tool:我不這麼認爲......這真的很奇怪。請記住,HTTP響應已經指定了內容類型,可選地包括編碼。 – 2010-09-29 13:43:18

+0

是的,但事情是我記得在某個地方閱讀這是可能的,但我找不到這篇文章。噢,也許我只是錯了...... – tool 2010-09-29 13:50:39

相關問題