2012-10-12 66 views
0

這個詞造成了我的問題。 BrúðkaupXML中的字符編碼問題

在我的cms中,在網頁的頂部我有這條線。

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

數據庫存儲上面的字作爲Brúðkaup並具有latin1

字符集在我的XML文件的頂部,我有以下:

<?xml version="1.0" encoding="UTF-8" ?> 

使用的是錯誤的數據庫字符編碼?即使是。爲什麼在html中我指定了utf8字符集,並且正確顯示了單詞。然而在XML中,我做了類似的事情,但事實並非如此?

XML由PHP生成。我試圖在我的腳本中添加以下內容。

header('charset=utf-8'); 

這沒有什麼區別。有任何想法嗎?

回答

0

由於數據是latin1(= ISO-8859-1或windows-1252)編碼,所以需要將其轉換爲UTF-8才能以UTF-8編碼顯示在頁面上。這些工具取決於您用來從數據庫獲取數據並將其放入HTML或XML文檔的軟件。

如果HTML文件顯示正確,那麼在某個時間點進行這樣的轉換,或者HTML文件實際上被瀏覽器解釋爲latin1編碼。如果服務器發送指定charset參數的HTTP Content-Type標頭,則會發生這種情況--HTTP標頭覆蓋meta標籤。