Василий М.
Новичок
В браузере в 2 разных вкладках адреса:
/usersRegions.php?term=%CC%EE%F1%EA%E2%E0
/usersRegions.php?term=Москва
Скрипт:
Для адреса /usersRegions.php?term=Москва все "ок":
почему тут detect_encoding дает UTF, а по факту - это cp1251?
Для адреса /usersRegions.php?term=%CC%EE%F1%EA%E2%E0:
вообще какой-то бред.
Помогите понять суть проблемы.
/usersRegions.php?term=%CC%EE%F1%EA%E2%E0
/usersRegions.php?term=Москва
Скрипт:
PHP:
header('Content-type: text/plain; charset=UTF-8');
echo 'word: '; var_dump($_GET['term']);
echo "detect_encoding: " . mb_detect_encoding($_GET['term']) . "\n";
echo "make iconv...\n";
$searchWord = iconv("UTF-8", "CP1251", $_GET['term']);
echo "detect_encoding: " . mb_detect_encoding($searchWord) . "\n";
echo 'word: '; var_dump($searchWord);
exit;
Код:
word: string(12) "Москва"
detect_encoding: UTF-8
make iconv...
detect_encoding: UTF-8 // WTF - не преобразовалась строка?
word: string(6) "������" // ОК, преобразование в cp1251
Для адреса /usersRegions.php?term=%CC%EE%F1%EA%E2%E0:
Код:
word: string(6) "������"
detect_encoding: UTF-8
make iconv...
detect_encoding: ASCII // WTF?!
word: bool(false) WTF???!!!
Помогите понять суть проблемы.