2009-12-11 45 views
0

我得從我已經提取了以下文本的XML文件 -問題顯示一些字符

將Sansa剪輯+ MP3播放器爲您提供了更 享受。享受高達2,000 歌曲††與8GB *播放器,FM收音機, 長壽命電池和錄音機。 加上現在更多!當您將預裝的 內容卡**添加到新存儲卡 卡插槽(包括slotRadio™和 slotMusic™卡**)時,可以擴大您的 享受。或者,將您自己的 音樂,播客和音頻書籍保存至 microSD™/ microSDHC™存儲卡**至 擴大您的播放範圍。SanDisk爲您帶來 ,享受 您的音樂。只需將其夾在上面,享受 更多音樂與令人難以置信的†電池驅動的樂趣。使用易於閱讀的屏幕和直觀的 查看您正在用哪個 收聽的可搜索菜單。在 紅色,藍色或圓滑的黑色色調中爲您的世界着色。

爲什麼它會在我的網頁上顯示如下,我如何自動修復它?謝謝。

Sansa Clip + MP3播放器讓您享受更多享受。享受高達2000首歌曲,包括8GB *播放器,FM收音機,長效電池和錄音筆。加上現在更多!將預加載的內容卡**添加到新的存儲卡插槽(包括slotRadio™和slotMusic™卡**)時,可以增加您的樂趣。或者,將您自己的音樂,播客和音頻書籍保存到microSD™/ microSDHC™存儲卡**中以擴展您的播放。SanDisk爲您帶來真棒音樂,讓您享受音樂。只需將其夾在上面,以令人難以置信的15小時充電樂趣享受更多音樂。通過明亮,易讀的屏幕和直觀搜索菜單,查看您正在收聽的內容。用紅色,藍色或光滑的黑色色調爲你的世界塗上顏色。

注:我試過preinheimer的建議,

首先,我與行之有效的文本文件進行了測試。

$content = file_get_contents("test.txt"); 

echo htmlentities($content); 

但是,當我動態地嘗試同樣的事情,它沒有工作,並保持文本一樣。

$content = $responseTemp->Items->Item->EditorialReviews->EditorialReview[$j]->Content; 

echo htmlentities($content); 

它們都包含相同的文本,但由於某些原因,動態版本不起作用。

另一個更新:我試過胡安的建議,這是一個小小的改進,但仍然不能正確複製,用問號替換了許多文字記錄器。 下面是它給了我,

將Sansa剪輯+ MP3播放器爲您提供了更 享受。享受多達2000 歌曲?配備8GB *播放器,FM收音機, 長效電池和錄音筆。 加上現在更多!當您將預裝的 內容卡**添加到新存儲卡 卡插槽中時,擴大您的 享受,包括slotRadio?和 slotMusic?牌**。或者,將您自己的 音樂,播客和有聲讀物保存到 microSD?/ microSDHC?記憶卡**至 擴大您的play.It?s帶給你的 SanDisk真棒聲音享受 您的音樂。只需將其剪輯並享受 更多音樂,令人難以置信的15 小時?電池驅動的樂趣。看看你在用明亮的 聽什麼, 易於閱讀的屏幕和直觀的 可搜索菜單。在 紅色,藍色或圓滑的黑色色調中爲您的世界着色。

最後更新:啊哈,我的錯誤,我換成$與「utf-8」胡安的例子,並添加在head標籤下面得到它的工作myOutputEncoding,

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

頁面http://php.net/manual/en/function.htmlentities.php有一些很好的例子,但我現在沒有時間去嘗試一下,找出哪個方法是最好的。 – 2009-12-11 20:56:01

+0

我試過htmlentities(myContent),它似乎不工作。 – usertest 2009-12-12 20:01:35

回答

2

既然你不知道原始編碼,你可以嘗試用mb_detect_encoding猜測像這樣

$content = $responseTemp->Items->Item->EditorialReviews->EditorialReview[$j]->Content; 
$encoding = mb_detect_encoding($content); 

$encodedText = mb_convert_encoding($content, $myOutputEncoding, $encoding); 

其中$myOutputEncoding是你使用的編碼。然後當您輸出$encodedText時,它應該正確顯示文本。

+0

如何決定編碼應該是什麼? – usertest 2009-12-13 18:02:23

3

這聽起來像一個字符集問題。幸運的是,我寫了一篇今天發表的文章。 http://phpadvent.org/2009/character-sets-by-paul-reinheimer

檢查XML文檔中的字符集(應該在頂部,可能是UTF-8),然後嘗試使用相同的字符集爲頁面提供服務。

+0

我剛剛檢查過,xml文件似乎沒有字符集。它是亞馬遜AWS的迴應。 – usertest 2009-12-12 20:00:03

+0

內容類型響應標題如何,它有時包括字符集 – gnarf 2009-12-12 20:34:10

+0

感謝您的建議,它是UTF-8 – usertest 2009-12-13 18:14:33