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