Просто из того, что я вижу в процессе опытов я прихожу к выводу о том, что браузер делает encodeURI автоматически. Это хорошо видно в том же FireBug. Я кстати говорю о GET запросах.
Цитата:
|
Все идущие на сервер параметры GET/POST, кроме случая multipart/form-data, кодируются в UTF-8. Не в кодировке страницы, а именно в UTF-8.
|
Но encodeURI это не тоже самое, что charset. И на самом деле выходит, что данные при GET уходя в виде UCS, и кодировка этих данных видимо в Latin-1 на самом деле, а не в UTF-8. И лишь на сервере делается перекодирование из UCS представления в машинный вид UTF. Что бы это проверить просто нужно словить двоичный дамп запроса посылаемого серверу, но для локальной машины я сейчас с ходу не могу этого сделать (ибо Wireshark снифить localhost не хочет). Видимо следует покурить в сторону tcpdump. Просто им я ни когда не пользовался, вот и подумал, может кто-то уже делал такого рода проверку и точно может подтвердить/опровергнуть мои соображения.