文件获取内容检索问题菱形字符
File get contents retrieve question diamonds characters
我使用 file_get_contents
函数创建了我的抓取工具,但是当我抓取某些网站时,我得到了这个字符:� 而我应该得到这个:é。关于正在发生的事情的一些想法?
这适用于 windows vps 服务器 运行 php。
我已经试过了:
file_get_contents() Breaks Up UTF-8 Characters
但是所有这些都不起作用。
PD:我所在的文件 运行 此代码在 UTF8 上。
$url = "https://play.google.com/books/reader?id=4rqYDwAAQBAJ&hl=en_US";
$options = array('http'=>array('method'=>"GET", 'header'=>"Accept-language: en-US,en;q=0.8\r\n" ."Accept-Charset: UTF-8, *;q=0"));
$context = stream_context_create($options)
$profile = file_get_contents($url,false,$context);
echo $profile
我希望得到重音字符而不是这个菱形字符 �.
Google 忽略了您的 Accept-Charset header 因为您没有指定 User-Agent,不知道为什么。我花了一个小时才弄明白。调整您的选项如下:
$options = [
"http" => [
"method" => "GET",
"header" => "Accept-language: en-US,en;q=0.8\r\n" .
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0\r\n" .
"Accept-Charset: UTF-8, *;q=0"
]
];
添加 "User-Agent" header 似乎可以解决问题。如果没有,Google 可能会返回不同的编码。
我使用 file_get_contents
函数创建了我的抓取工具,但是当我抓取某些网站时,我得到了这个字符:� 而我应该得到这个:é。关于正在发生的事情的一些想法?
这适用于 windows vps 服务器 运行 php。
我已经试过了:
file_get_contents() Breaks Up UTF-8 Characters
但是所有这些都不起作用。
PD:我所在的文件 运行 此代码在 UTF8 上。
$url = "https://play.google.com/books/reader?id=4rqYDwAAQBAJ&hl=en_US";
$options = array('http'=>array('method'=>"GET", 'header'=>"Accept-language: en-US,en;q=0.8\r\n" ."Accept-Charset: UTF-8, *;q=0"));
$context = stream_context_create($options)
$profile = file_get_contents($url,false,$context);
echo $profile
我希望得到重音字符而不是这个菱形字符 �.
Google 忽略了您的 Accept-Charset header 因为您没有指定 User-Agent,不知道为什么。我花了一个小时才弄明白。调整您的选项如下:
$options = [
"http" => [
"method" => "GET",
"header" => "Accept-language: en-US,en;q=0.8\r\n" .
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0\r\n" .
"Accept-Charset: UTF-8, *;q=0"
]
];
添加 "User-Agent" header 似乎可以解决问题。如果没有,Google 可能会返回不同的编码。