我读了一个外部html文件,它是iso-8859-1,但也显示了欧元符号。
html文件的标题:
using System.Runtime.InteropServices
我想将此文件转换为UTF-8,但随后欧元符号丢失。 我知道iso-8859-1通常不支持欧元符号。但是,最初的来源也会显示它。
这是我的代码简化:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
上面的代码打开外部文件并通过xpath获取它的特定部分。除了欧元符号丢失外,一切正常。 我已经尝试过像mb_convert_encoding()和iconv()这样的方法但没有成功。
一个有效的解决方案是:
<?php
header('Content-type: text/html; charset=UTF-8');
$htmlSource = file_get_contents($url);
$doc = new DOMDocument();
@$doc->loadHTML($htmlSource);
$domXPath = new DOMXPath($doc);
$agbText = $domXPath->evaluate('string('.$xPath.')');
echo $agbText;
?>
但我在标题中需要UTF-8作为字符集。你知道如何解决这个问题吗?