Php 阅读youtube名称和符号?

Php 阅读youtube名称和符号?,php,unicode,youtube,symbols,Php,Unicode,Youtube,Symbols,我试着从youtube上读取某些视频名称,我让它正常工作,尽管某些符号似乎会显示为其他奇怪的符号。(我想是吧?) 我应该得到“美女与野兽-美国官方最终预告片” 取而代之的是《美女与野兽——美国官方最后预告片》 谢谢也许您可以使用mb_convert_encoding()函数?您的页面不是UTF-8格式?在Display>Text encoding或类似功能中,您在浏览器中阅读了什么?@julp我在页面顶部有,我尝试了标题(“内容类型:Text/html;charset=UTF-8”);在php中

我试着从youtube上读取某些视频名称,我让它正常工作,尽管某些符号似乎会显示为其他奇怪的符号。(我想是吧?)

我应该得到“美女与野兽-美国官方最终预告片”

取而代之的是《美女与野兽——美国官方最后预告片》


谢谢

也许您可以使用mb_convert_encoding()函数?您的页面不是UTF-8格式?在Display>Text encoding或类似功能中,您在浏览器中阅读了什么?@julp我在页面顶部有,我尝试了标题(“内容类型:Text/html;charset=UTF-8”);在php中,但仍然不起作用。源代码似乎在UTF-8中,但DOM/libxml2似乎将其视为ISO-8859-1,然后将其转换为UTF-8,因此
-
(U+2013,在UTF-8中由0xE2、0x80、0x93编码)成为3个代码点U+E2、U+80、U+93(=在UTF-8中:、0xC3、0xA2、0xC2、0x80、0x93)。我可能已经找到了两种解决方法:1)在(
$page=“\u{FEFF}”).file_get_contents($url);
)之前添加BOM,或2)在(
$page=''file_get_contents($url);
)-3)之前添加两个(当然,但要先添加BOM)。也许你可以使用mb_convert_encoding()函数?你的页面不是UTF-8格式?在Display>Text encoding或类似功能中,您在浏览器中阅读了什么?@julp我在页面顶部有,我尝试了标题(“内容类型:Text/html;charset=UTF-8”);在php中,但仍然不起作用。源代码似乎在UTF-8中,但DOM/libxml2似乎将其视为ISO-8859-1,然后将其转换为UTF-8,因此
-
(U+2013,在UTF-8中由0xE2、0x80、0x93编码)成为3个代码点U+E2、U+80、U+93(=在UTF-8中:、0xC3、0xA2、0xC2、0x80、0x93)。我可能已经找到了两种解决方法:1)在(
$page=“\u{FEFF}”).file_get_contents($url);
)之前添加BOM,或2)在(
$page=''file_get_contents($url);
)之前添加XML prolog-3)两者都添加(当然,但要先添加BOM)。
function get_youtube_title($video_id){
    $url = "http://www.youtube.com/watch?v=".$video_id;

    $page = file_get_contents($url);
    $doc = new DOMDocument();
    $doc->loadHTML($page);

    $title_div = $doc->getElementById('eow-title');
    $title = $title_div->nodeValue;

    return $title;
}

echo get_youtube_title('e3Nl_TCQXuw');