|
|
|
|
|
|
для: cheops
(17.05.2011 в 10:14)
| | Два варианта в AJAX.
1. http_request.overrideMimeType('text/html; charset=cp1251');
2. header('Content-Type: text/html; charset=windows-1251'); с перекодировкой на сервере.
Какие недостатки и какие преимущества? | |
|
|
|
|
|
|
|
для: cheops
(17.05.2011 в 10:14)
| | А если header('Content-Type: text/html; charset=windows-1251'); , на сервере, сразу перекодирвание.
На практике все работает и Internet Explorer 6.
Вот насчет процентов и статистики, это прошлое. Внесут они изменения в браузере, ради конкуренции, обновят его и все, статистика гавкнет и помашет ручкой.
Или какую надстройку вставят и опять тютю.
На мой взгляд жестокая конкуренция только мешает. | |
|
|
|
|
|
|
|
для: parczynski
(17.05.2011 в 05:33)
| | Возможно даже Internet Explorer 6 можно заставить это делать, но дело в том, что при отладке скрипта, Internet Explorer 6 если ему что-то не нравится просто не передает данные, либо на сервер, либо обратно и что ему не нравится выяснить никакой возможности нет - он не сообщает об этом. Поэтому на него не тратят время сразу формируя скрипты в UTF-8, там где можно, чтобы потенциальная ошибка, когда забывается посылка дополнительного HTTP-заголовка не снижала надежность системы, которая может быть довольно объемной. В этом плане я соглашусь, что в 95% случаях от AJAX-запросов можно ожидать UTF-8. | |
|
|
|
|
|
|
|
для: parczynski
(17.05.2011 в 05:33)
| | Он хотел наверное имел ввиду:"AJAX всегда по умолчанию передает данные в UTF-8." | |
|
|
|
|
|
|
|
для: Саня
(13.05.2011 в 14:16)
| | >AJAX всегда передаёт данные в UTF-8.
ну не всегда. можно изменить кодировку
http_request.overrideMimeType('text/html; charset=cp1251');
|
http_request - объект XMLHttpRequest
а в файле который обрабатывает запрос на сервере это еще проще | |
|
|
|
|
|
|
|
для: Valleri
(13.05.2011 в 12:08)
| | Есть множество способов автоматического определения кодировки текста, различающиеся надёжностью, сложностью и скоростью. В гугле можно найти тонну информации по этому поводу.
AJAX всегда передаёт данные в UTF-8. | |
|
|
|
|
|
|
|
для: Valleri
(13.05.2011 в 12:55)
| | Кодировку зачастую очень сложно определить по символам. Кодировка - это интерпретация последовательности кодов. Т.е. это нужно искать осмысленные слова и фразы в рамках той или иной кодировки, а это не всегда возможно, так как текст может быть слишком коротким или фраз может не быть (все же возможные фразы не закодируешь, да и функция в этом случае будет работать слишком долго). | |
|
|
|
|
|
|
|
для: cheops
(13.05.2011 в 12:50)
| | Нужна функция типа:
Если кодировка знакома - то конвертируем
далее выполняем задачи
Если кодировка не знакома - то не конвертируем
далее не выполняем задачи
|
| |
|
|
|
|
|
|
|
для: Valleri
(13.05.2011 в 12:42)
| | Нет, автоматизировать это вряд ли получится (собственно кодировка - это интерпретация, её зачастую не просто определить автоматически). В ряде случаев эта задача вообще не решаема, например легендарная фраза
Hello world!
удовлетворяет множеству кодировок и во всех этих кодировках оно будет отображено правильно, несмотря на то, что последовательность кодируется одними и теми же символами. | |
|
|
|
|