gpt4 book ai didi

PHP DOMDocument nodeValue 返回不同的编码

转载 作者:搜寻专家 更新时间:2023-10-31 21:43:50 25 4
gpt4 key购买 nike

当使用 DOMDocument 解析 html 文档时,我从 nodeValue 获得了不同的编码。在我的开发环境中,我得到的是 UTF-8,但是当将脚本上传到网络服务器时,我得到的是 ISO-8859-1。

任何人都可以解释这种行为以及如何获得相同的编码吗?

<?php
header('Content-Type:text/html; charset=UTF-8');
$strHtml = file_get_contents("http://www.aftonbladet.se/senastenytt/ttnyheter/inrikes/article13397806.ab");

$objDOM= new DOMDocument();
@$objDOM->loadHTML($strHtml);
echo "Encoding: ". $objDOM->encoding."<br/>";

//Parse heading from DOMDocument
$objNodelist = $objDOM->getElementsByTagname('h1');
foreach ($objNodelist as $objElem)
{
$strNodeValue = $objElem->nodeValue; //get the
break;
}
echo 'nodeValue: "'.$strNodeValue.'"<br/>';
echo 'utf8_decode: "'.utf8_decode($strNodeValue).'"<br/>';
echo 'utf8_encode: "'.utf8_encode($strNodeValue).'"<br/>';

//Parse heading using substring from html
$strHeading = substr($strHtml , strpos($strHtml, '<h1 class="abS32">')+18, strpos($strHtml, '</h1>') - strpos($strHtml, '<h1 class="abS32">')-18);
echo 'Heading from substring: "'.$strHeading.'"';
?>

在开发环境中运行时的输出
编码:utf-8
nodeValue: "När semenmen inleds vankas åska"
utf8_decode: "N�r semenmen inleds vankas�ska"
utf8_encode: "När semenmen inleds vankas ¥ska"
来自子字符串的标题:“När semenmen inleds vankas åska”

在公共(public)网络服务器上运行时的输出
编码:utf-8
nodeValue: "När semenmen inleds vankas ¥ska"
utf8_decode: "När semenmen inleds vankas åska"
utf8_encode: "När semenmen inleds vankas ÃÂ¥ska"
来自子字符串的标题:“När semenmen inleds vankas åska”

显然 utf8_decode 需要在公共(public)网络服务器上使用,但不能在我的开发环境中使用。我想在两个系统上有相同的行为。有什么想法吗?

最佳答案

问题已通过更新 Web 酒店服务器上的 PHP 解决。

网上酒店的旧配置:
PHP版本:5.2.6-1+lenny13
libxml版本:2.6.32

网络酒店的更新配置:
PHP 版本 5.3.3-7+squeeze3
libxml 版本 2.7.8

脚本现在在两个环境中生成相同的输出
编码:utf-8
nodeValue: "När semenmen inleds vankas ¥ska"
utf8_decode: "När semenmen inleds vankas åska"
utf8_encode: "När semenmen inleds vankas ÃÂ¥ska"
来自子字符串的标题:“När semenmen inleds vankas åska”

关于PHP DOMDocument nodeValue 返回不同的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6885979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com