Php, include / require и разные кодировки файлов

При включении или требовании файлов в 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 в наши дни, может также испортить много других вещей…?) // Если части echo SOME_STRING; - ваша единственная проблема - тогда перейдите к функциям PHP mbstring и iconv.

CBroe 25.05.2018 09:54

Нет, это не просто одна строка и т. д. Я имею в виду, если внешняя библиотека заполнена строками, отличными от utf-8.

Schubi Duah 25.05.2018 10:42

Чем это дерьмовая библиотека, которую не стоит использовать в первую очередь…? Я имею в виду, что вы, возможно, можете заменить свое собственное включение каким-то кодом, который читает содержимое файла, преобразует кодировку, а затем вычисляет его или что-то в этом роде ... но это не поможет вам с включениями / требует, чтобы библиотека выполнялась внутри, плюс создает кошмар обслуживания и, вероятно, также безопасности.

CBroe 25.05.2018 10:53
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
67
0

Другие вопросы по теме