Добрый день!Файл /content/document/eis.php в кодировке UCS-2 Little Endian (unicode) из php-скрипта
отображается не корректно, введя в броузере так:http://10.1.2.39/content/document/eis.php
Вот содержимое файла:
--------------------------begin--eis.php---------------------------------
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Проекты Фирмы");
?><div class="shadow">
<div class="info_caption">Перечень автоматизированных систем (Проекты) Фирмы и сотрудников, ответственных за их администрирование (Приказ № 684-аа-18)</div><div class="info_msg"><?include $_SERVER["DOCUMENT_ROOT"]."/content/document/files/eis4.html";?> </div>
</div>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>--------------------------end----eis.php---------------------------------
А если напрямую из броузера, то отображается корректно.
http://10.1.2.39/content/document/files/eis4.html
Как нужно настроить PHP чтобы отображалось корректно из PHP-скрипта?
Кодировку файла менять нельзя.С уважением. Борис.
А какая кодировка у eis4.html? Если у eis.php и eis4.html разные кодировки то все конечно смешается и будет каша.Ну и не забудьте установить правильный BOM (Byte Order Mars) у eis.php, а из eis4.html BOM убрать чтобы он не появился в центре итогового документа.
Опечатка вышла, Byte Order Mark, конечно. В HTML он нужен если используется Unicode отличное от UTF-8.
> Опечатка вышла, Byte Order Mark, конечно. В HTML он нужен если используется
> Unicode отличное от UTF-8.Добрый день!
Я извеняюсь, как раз этот файл /content/document/files/eis4.html ,
который из скрипта запускается, в кодировке UCS-2 Little Endian (unicode)Вот как он отображается www.korbnik.ru/err.jpg
А не из скрипта он отображается корректно.
Файл /content/document/eis.php в кодировке utf-8.
Кодировку файла /content/document/files/eis4.html менять нельзя.
Такое требование заказчиков.
Заранее благодарен.
А что будет если поменять<?include $_SERVER["DOCUMENT_ROOT"]."/content/document/files/eis4.html";?>
на (если установлен модуль iconv)
<?php
$content = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/content/document/files/eis4.html");
echo iconv('UCS-2LE', 'UTF-8', $content);
?>или (если установлен модуль mbstring)
<?php
$content = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/content/document/files/eis4.html");
echo mb_convert_encoding($content, 'UTF-8', 'UTF-16LE');
?>
>[оверквотинг удален]
> на (если установлен модуль iconv)
> <?php
> $content = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/content/document/files/eis4.html");
> echo iconv('UCS-2LE', 'UTF-8', $content);
> ?>
> или (если установлен модуль mbstring)
> <?php
> $content = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/content/document/files/eis4.html");
> echo mb_convert_encoding($content, 'UTF-8', 'UTF-16LE');
> ?>Добрый день!
Да, заработало. Спасибо огромное. Установлен модуль mbstring.
Всем спасибо за уделённое внимание.