Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示某些字符时出现问题_Php_Html_Xml_Character Encoding - Fatal编程技术网

Php 显示某些字符时出现问题

Php 显示某些字符时出现问题,php,html,xml,character-encoding,Php,Html,Xml,Character Encoding,我有一个XML文件,我从中提取了以下文本- Sansa Clip+MP3播放器为您提供 更多的是享受。享受到2000年 歌曲††配有8GB*播放器、调频收音机、, 长寿命电池和语音记录器。 再加上现在更多!扩展你的 添加预加载时的享受 将内容卡**插入新内存 卡槽,包括slotRadio™ 和 慢音乐™ 卡片**。或者,保存你自己的 音乐、播客和有声读物 微秒™/雷克沙™ 存储卡**至 扩展你的游戏,它带给你 由SanDisk制作,音质极佳 你的音乐。只要把它夹上,尽情享受 更多的音乐与令人难以

我有一个XML文件,我从中提取了以下文本-

Sansa Clip+MP3播放器为您提供 更多的是享受。享受到2000年 歌曲††配有8GB*播放器、调频收音机、, 长寿命电池和语音记录器。 再加上现在更多!扩展你的 添加预加载时的享受 将内容卡**插入新内存 卡槽,包括slotRadio™ 和 慢音乐™ 卡片**。或者,保存你自己的 音乐、播客和有声读物 微秒™/雷克沙™ 存储卡**至 扩展你的游戏,它带给你 由SanDisk制作,音质极佳 你的音乐。只要把它夹上,尽情享受 更多的音乐与令人难以置信的15 小时†电池驱动的乐趣。看什么 你在和聪明人一起听, 易于阅读的屏幕和直观 可搜索菜单。给你的世界涂上颜色 红色、蓝色或光滑的黑色底色

为什么它会显示在我的网页上,如下所示,我如何能自动修复它?谢谢

Sansa Clip+MP3播放器为您带来更多享受。使用8GB*播放器、调频收音机、长寿命电池和录音机,您可以欣赏多达2000首歌曲。再加上现在更多!将预加载的内容卡**添加到新的存储卡插槽中,包括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 Clip+MP3播放器为您提供 更多的是享受。享受到2000年 歌曲??配备8GB*播放器、调频收音机、, 长寿命电池和语音记录器。 再加上现在更多!扩展你的 添加预加载时的享受 将内容卡**插入新内存 卡槽,包括slotRadio?和 慢音乐?卡片**。或者,保存你自己的 音乐、播客和有声读物 microSD?/microDHC?存储卡**至 扩展你的游戏,它会带给你 由SanDisk制作,音质极佳 你的音乐。只要把它夹上,尽情享受 更多的音乐与令人难以置信的15 小时?电池驱动的乐趣。看什么 你在和聪明人一起听音乐, 易于阅读的屏幕和直观 可搜索菜单。给你的世界涂上颜色 红色、蓝色或光滑的黑色底色

最后更新:啊哈,我错了,我在Juan的示例中将$myOutputEncoding替换为'utf-8',并在head标记中添加以下内容以使其正常工作

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

听起来像是字符集问题。 幸运的是,我写了一篇文章,今天发表了。


检查XML文档中的字符集(应该在顶部,可能是UTF-8),然后尝试使用相同的字符集为页面提供服务

这听起来像是一个字符集问题。 幸运的是,我写了一篇文章,今天发表了。


检查XML文档中的字符集(应该在顶部,可能是UTF-8),然后尝试使用相同的字符集为页面提供服务

由于您不知道原始编码,您可以尝试使用
mb\u detect\u编码进行猜测

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

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

其中,
$myOutputEncoding
是您使用的编码。然后,当您输出
$encodedText
时,它应该正确显示文本。

由于您不知道原始编码,您可以尝试使用
mb\u detect\u编码进行猜测

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

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

其中,
$myOutputEncoding
是您使用的编码。然后,当您输出
$encodedText
时,它应该正确显示文本。

该页面有一些很好的示例,但我现在没有时间尝试这些示例并找出哪种方法是最好的。我尝试了htmlentities(myContent),但似乎不起作用。该页面有一些很好的示例,但是我现在没有时间去尝试它们并找出哪种方法是最好的。我尝试了htmlentities(myContent),但似乎不起作用。我只是检查了一下,xml文件似乎没有字符集。这是来自amazon的AWS的响应。内容类型响应头如何,它有时包含字符集谢谢你的建议,它是UTF-8I刚刚检查过的,xml文件似乎没有字符集。这是来自亚马逊AWS的响应。内容类型响应标题如何,它有时包含字符集谢谢你的建议,它是UTF-8我如何决定编码应该是什么?我如何决定编码应该是什么?