Определить charset данных, отправленных в форме через POST

Greendrake

Новичок
Определить charset данных, отправленных в форме через POST

На страницах использую отправку данных из форм методом POST. При этом часть форм отправляется как обычно, а часть - через XMLHttpRequest. Как известно, этот зверь безапелляционно кодирует отправляемые данные в UTF-8 (сама страница в windows-1251).
Сервер по умолчанию не знает, каким из этих двух способов была отправлена форма. В то же время, если она отправлена в UTF-8, полученные данные нужно преобразовать в windows-1251. Если такое преобразование делать всегда, то когда данные отправляются уже в windows-1251 - они будут потеряны. Если преобразования не делать, данные в UTF-8 будут абра-кадаброй.

Поэтому нужно как-то отпределить charset, к котором была послана форма.
Пытаюсь смотреть apache_request_headers():

Array
(
[Accept] => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
[Referer] => http://localhost/_u.html
[Accept-Language] => ru
[Content-Type] => application/x-www-form-urlencoded
[Accept-Encoding] => gzip, deflate
[User-Agent] => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Avant Browser; Avant Browser)
[Host] => localhost
[Content-Length] => 47
[Connection] => Keep-Alive
[Cache-Control] => no-cache
)

Но тут нету.

Можно конечно при отправке из XMLHttpRequest посылать некий ключ, указывающий что это данные в UTF-8. Можно конечно вообще полностью перейти на UTF-8. Но муторно это. Можно ли сделать сабж на сервере?
 

kruglov

Новичок
Можно дополнительным полем отправлять букву Ж и смотреть, во что она превратится.
 
Сверху