debian 9 php 7.0 iconv конвертировать из UTF-8 в ISO-8859-2

Мне нужно преобразовать UTF-8 в ISO-8859-2. Я трачу много часов, но без эффекта. простой код

$data = 'Ala była zła że się przewróciła';
//$data = iconv('UTF-8', 'ISO-8859-2', $data);
$data = mb_convert_encoding($data, 'ISO-8859-2','UTF-8');
die(var_dump(mb_detect_encoding($data)));

Я использую die() для печати кодировки. Byt это обнаружение возвращает bool(false). Если я прокомментирую строку с преобразованием mb_detect, отпечатки будут «UTF-8».

Почему я не могу конвертировать в ISO-8859-2? нужна какая-то специальная конфигурация в php.ini или что-то еще?


person nicram    schedule 04.04.2018    source источник


Ответы (1)


Попробуйте изменить последнюю строку на эту:

var_dump(mb_detect_encoding($data, "ISO-8859-2, UTF-8"));

Второй параметр предоставит ему encoding list на выбор.

Выход:

string 'ISO-8859-2' (length=10)
person mega6382    schedule 04.04.2018
comment
Хорошо, я изменил кодировку вывода на «Windows-1250» и работает. Производитель принтера вводит в заблуждение :/ - person nicram; 04.04.2018