2009-12-11 43 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