2 строки, 1 кодировка, разные значения

У меня есть две строки, которые я получаю, соскабливая с сайта. Строковое значение — «Ç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

В чем здесь проблема? И как мне добиться, чтобы первая строка была похожа на вторую?

0

Решение

Если вы видите строку çorap как çorap, это означает, что у вас неверный набор кодировки, попробуйте:

header('Content-Type: text/html; charset=utf-8');

Строка UTF8 не может быть строчной strtolower() функция, попробуйте:

var_dump( 'çorap' === mb_strtolower('Çorap', 'UTF-8') );
1

Другие решения

Других решений пока нет …