Все в вопросе: у меня есть скрипт Php, который является файлом UTF-8. В этом скрипте я хочу сделать это:
<? echo "âêïû\n"; ?>
Если я запустил его в командной строке Windows, я получаю следующее:
C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php âêïû C:\php>
Я не смог найти правильную схему преобразования. Я тоже пробовал этот код:
$tab = mb_list_encodings(); foreach ($tab as $enc1) { foreach ($tab as $enc2) { $t=mb_convert_encoding("âêïû\n", $enc1, $enc2); if (strlen($t)<14) { echo $enc1." ".$enc2." = ".$t."\n"; } } }
И я не нашел правильного преобразования!
Любая помощь будет принята с благодарностью
Проблема в том, что Windows cmd line по умолчанию не поддерживает UTF8. Из этой ссылки , если вы будете следовать этим
Вы должны иметь возможность выводить utf8.
Вы поставили меня на правильный путь, но возникла проблема (я люблю Windows \ o /):
C:\php>chcp 65001 Page de codes active : 65001 C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php | more Mémoire insuffisante.
Mémoire insuffisante = недостаточно памяти.
Если я попробую
C:\php>chcp 1252 C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php C:\php>ééîîïïÂÂÂÂâûü
оно работает. Только Бог знает почему. Но это работает. Спасибо, что поставили меня на правильный путь!
Кстати, PHP-код для правильной формы UTF8 для командной строки:
echo mb_convert_encoding($utf8_string, "pass", "auto");