一尘不染

检测PHP中的文件编码

php

我有一个脚本,将多个文件合并为一个脚本,当其中一个文件具有UTF8编码时,它就会中断。我认为utf8_decode()读取文件时应该使用该函数,但是我不知道如何分辨需要解码的内容。

我的代码基本上是:

$output = '';
foreach ($files as $filename) {
    $output .= file_get_contents($filename) . "\n";
}
file_put_contents('combined.txt', $output);

当前,在UTF8文件的开头,它将在输出中添加以下字符: 


阅读 268

收藏
2020-05-26

共1个答案

一尘不染

尝试使用该mb_detect_encoding功能。此函数将检查您的字符串并尝试“猜测”其编码是什么。然后,您可以根据需要进行转换。正如brulak建议的那样,最好保留转换 UTF-8而不是 转换 _为_UTF-8的方式,以保留要传输的数据。

2020-05-26