PHP:将iso-8859-1转换为utf-8时缺少欧元符号

时间:2015-06-06 11:02:50

标签: php xpath encoding utf-8 iso-8859-1

我读了一个外部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作为字符集。你知道如何解决这个问题吗?

0 个答案:

没有答案