可以尝试在远程调用时指定编码为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 避免出现无法转换的字符导致脚本中断。

php 远程调用一个https网址的内容,然后把内容生成到另外一个php文件中,现在发现生成的php文件的编码是gb2312的,页面中的中文是乱码的

原文地址: https://www.cveoy.top/t/topic/qop 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录