php 远程调用一个https网址的内容,然后把内容生成到另外一个php文件中,现在发现生成的php文件的编码是gb2312的,页面中的中文是乱码的
可以尝试在远程调用时指定编码为UTF-8,例如:
$content = file_get_contents('https://www.example.com', false, stream_context_create([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
],
'http' => [
'header' => 'Content-Type: text/html; charset=UTF-8',
],
]));
然后在生成的 PHP 文件中也指定编码为 UTF-8,例如:
header('Content-Type:text/html; charset=UTF-8');
如果还是出现乱码,可以尝试使用 iconv 函数将编码转换为 GB2312,例如:
$content = iconv('UTF-8', 'GB2312//IGNORE', $content);
注意要在转换时加上 //IGNORE 避免出现无法转换的字符导致脚本中断。
原文地址: https://www.cveoy.top/t/topic/qop 著作权归作者所有。请勿转载和采集!