function convertStringUtf8 ($s)
{
file_put_contents ( '/tmp/utf8_param' , $s);
file_put_contents ( '/tmp/utf8_mbdetect' , mb_detect_encoding($s));
file_put_contents ( '/tmp/utf8_other' , iconv('ISO-8859-1', 'UTF-8//TRANSLIT', "Á"));
if (function_exists('iconv'))
{
file_put_contents ( '/tmp/utf8_func', "yes");
} else {
file_put_contents ( '/tmp/utf8_func', "nao");
};
$sutf8 = iconv('ISO-8859-1', 'UTF-8//TRANSLIT', $s);
file_put_contents ( '/tmp/utf8_iconv' , $sutf8);
return $sutf8;
};
Выход из /tmp
файлы:
utf8_param
— «строка»
utf8_mbdetect
— пусто, 0 байт
utf8_other
— ‘Ã’
utf8_func
— ‘да
utf8_iconv
— пусто, 0 байт
«строка» исходит от MariaDB
база данных с Spanish
сопоставление, как обычно. iconv
работал правильно, но, кажется, что-то пошло не так, пока я разрабатываю новую программу. Преобразованная строка должна быть передана javascript
ajax
вызов.
Что вызывает это плохое поведение iconv
?
Задача ещё не решена.
Других решений пока нет …