fn[mb_convert_encoding] Переконвертирование с авто определением изначальной кодировки

Статус
В этой теме нельзя размещать новые ответы.

trooll

PHP кодер
Регистрация
22 Дек 2008
Сообщения
482
Реакции
117
Доброго времени суток.
В общем, сразу приведу пример кода, а дальше уже распишу, что да как:
PHP:
<?PHP 
mb_internal_encoding('utf-8');
$work_file_contents = file_get_contents(getcwd().'/ in.php');
$work_file_contents = mb_convert_encoding($work_file_contents, 'utf-8', 'auto');
file_put_contents (getcwd().'/out.php', $work_file_contents);
?>
Среда работы:
1) OS WIN XP Pro
2) PHP 5.2.4 (полная стандартная комплектация всех библиотек)
3) DENWER_3
Задача:
Перекодировать исходный файл in.php в кодировку utf-8, автоматически определив исходную кодировку файла, и сохранить результат в файл out.php
Описываю проблему:
Значит изначальный файл in.php находиться в кодировку windows-1251, Notepad++ и PHP Expert Editor определяют кодировку как ANSI.
При конвертации функцией mb_convert_encoding() с параметром 'auto' в качестве исходной кодировке, кодировка так и остается ANSI, причем все кириллические символы из документа пропадают.
Если указать явственно начальную кодировку в виде 'windows-1251', то конвертация проходит, кодировка файла изменяется при этом:
Notepad++ пишет что кодировка ANSI as UTF-8 (то есть как я понял UTF-8 без BOM)
HP Expert Editor пишет что кодировка просто UTF-8
При этом все кириллические символы сохраняются на своих местах. То есть все ок.
Что вообще за дурь блин происходит?
Почему так?
Как это можно реализовать?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху