У меня есть две строки, которые я получаю, соскабливая с сайта. Строковое значение — «Çorap», но в веб-браузере они различаются:
PHP-код для тестирования:
echo '<h1> string: '.strtolower('çorap').' encoding: '.mb_detect_encoding(strtolower('çorap')).'</h1>';
echo '<h1> string: '.strtolower('Çorap').' encoding: '.mb_detect_encoding(strtolower('Çorap')).'</h1>';
Результат:
string: çorap encoding: UTF-8
string: Çorap encoding: UTF-8
В чем здесь проблема? И как мне добиться, чтобы первая строка была похожа на вторую?
Если вы видите строку çorap
как çorap
, это означает, что у вас неверный набор кодировки, попробуйте:
header('Content-Type: text/html; charset=utf-8');
Строка UTF8 не может быть строчной strtolower()
функция, попробуйте:
var_dump( 'çorap' === mb_strtolower('Çorap', 'UTF-8') );
Других решений пока нет …