首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从utf8文件获取utf8 DOM

从utf8文件获取utf8 DOM
EN

Stack Overflow用户
提问于 2015-04-24 05:31:14
回答 1查看 35关注 0票数 1

我有以下代码:

代码语言:javascript
复制
<?php

header('Content-Type: text/html; charset=utf-8');

function getSource($url)
{
    if (!function_exists('curl_init'))
    {
        die('CURL is not installed!');
    }

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_ENCODING, "UTF-8");
    $output = curl_exec($ch);
    curl_close($ch);

    return $output;
}

$source = getSource('http://www.website.com/');
var_dump($source); die();

文件本身是UTF-8格式的。问题是输出的UTF-8字符显示不正确。取而代之的是,它们显示为问号或其他一些垃圾。

我发现解决这个问题的唯一方法是将文件编码为ISO-8859-1。但我不想这样。这是怎么回事?

EN

回答 1

Stack Overflow用户

发布于 2015-04-24 18:05:23

您传递给CURLOPT_ENCODING的值是(a)无效的,(b)毫无意义,因为它不会强制Curl将其获取的内容转换为您想要的编码。如果远程站点返回ISO-8859-1,那么您必须自己将其转换为UTF-8。

CURLOPT_ENCODING用于在获取页面时接受Accept-Encoding:标头。有效值为"identity""deflate""gzip"。正如您所看到的,它对字符集编码没有任何意义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29834701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档