При включении или требовании файлов в PHP с разными кодировками у меня возникает проблема со смешанными кодировками:
file1.php (в кодировке NON utf-8)
<?php
define('SOME_STRING', 'something encoded in non-utf-8');
?>
file2.php (в кодировке utf-8)
<?php
include('file1.php');
echo 'something in utf-8';
echo SOME_STRING;
?>
Я могу решить эту проблему, пока file1.php находится под моим контролем.
Но, например, если file1.php взят из внешней библиотеки, которая автоматически синхронизируется, и я не могу преобразовать (так как он перезаписан), как я могу это изменить?
Нет, это не просто одна строка и т. д. Я имею в виду, если внешняя библиотека заполнена строками, отличными от utf-8.
Чем это дерьмовая библиотека, которую не стоит использовать в первую очередь…? Я имею в виду, что вы, возможно, можете заменить свое собственное включение каким-то кодом, который читает содержимое файла, преобразует кодировку, а затем вычисляет его или что-то в этом роде ... но это не поможет вам с включениями / требует, чтобы библиотека выполнялась внутри, плюс создает кошмар обслуживания и, вероятно, также безопасности.






Прежде всего, я бы очень хорошо подумал, хочу ли я вообще использовать такую библиотеку. (Кто умудряется не использовать UTF-8 в наши дни, может также испортить много других вещей…?) // Если части
echo SOME_STRING;- ваша единственная проблема - тогда перейдите к функциям PHP mbstring и iconv.