Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php,include/require和不同的文件编码_Php_Encoding_Include_Require - Fatal编程技术网

php,include/require和不同的文件编码

php,include/require和不同的文件编码,php,encoding,include,require,Php,Encoding,Include,Require,在PHP中包含或要求包含具有不同字符集的文件时,我遇到了混合编码的问题: file1.php(以非utf-8编码) file2.php(编码为utf-8) 只要file1.php在我的控制之下,我就可以解决这个问题 但是,例如,如果file1.php来自一个自动同步的外部库,并且我无法转换(因为它被覆盖),那么我如何更改它呢?我首先会非常仔细地考虑,我是否想首先使用这样的库。(这些天谁不使用UTF-8,可能也会搞乱很多其他事情…?)//如果回音一些字符串部分是这里唯一的问题-然后去看看P

在PHP中包含或要求包含具有不同字符集的文件时,我遇到了混合编码的问题:

file1.php(以非utf-8编码)


file2.php(编码为utf-8)


只要file1.php在我的控制之下,我就可以解决这个问题


但是,例如,如果file1.php来自一个自动同步的外部库,并且我无法转换(因为它被覆盖),那么我如何更改它呢?

我首先会非常仔细地考虑,我是否想首先使用这样的库。(这些天谁不使用UTF-8,可能也会搞乱很多其他事情…?)//如果
回音一些字符串部分是这里唯一的问题-然后去看看PHP的mbstring和iconv函数。不,这不仅仅是一个字符串等。我的意思是如果一个外部库充满了非utf-8字符串。那么这是一个不应该首先使用的糟糕库…?我的意思是,你也许可以用一些代码来替换你自己的include,这些代码读取文件内容,转换编码,然后对其进行求值等等。。。但这对包含/需要lib的内部操作没有帮助,而且它会造成维护,可能还会造成安全噩梦。
 <?php
    define('SOME_STRING', 'something encoded in non-utf-8');
 ?>
<?php
    include('file1.php');

    echo 'something in utf-8';
    echo SOME_STRING;
?>