|
|
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
Проблемы с кодировкой не раз уже поднимались, но большинство ораторов хотело из кожи вон получить на клиенте Windows-1251. Хотя JavaScript абсолютно под это не заточен и всякие json_encode тому подтверждение, они просто не переваривают что либо отличное от UTF-8. У меня проблема другого плана и есть два варианта её решения, хочу с Вами посоветоваться как лучше, да заодно изобрести красивый рецепт :[ Задача в том, чтобы получать правильную кодировку на сервере или переводить её в правильную. Теперь подробнее о проблеме. Итак, POST запрос можно создать двумя методами: 1) XMLHttpRequest - тут и на входе и на выходе UTF-8 однозначно (есть не согластные?) 2) <form action='********' method=POST> - а вот тут у меня пока идет Windows-1251 В зависимости от того как был сделан запрос сейчас сервер либо поймет, то что передал клиент, либо не поймет. Что ж надо это дело унифицировать. Навскидку вижу два решения проблемы: 1) заставить <form action='********' method=POST> давать мне UTF-8 2) заставить сервер понимать в какой кодировке идет ответ, и выполнять на лету нужные преобразования. Во-первых что лучше и быстрее??? Во вторых как это сделать? Пока не знаю ни одного решения, ни одного из предложенных вариантов. Жду Ваши предложения и возможные решения. Заранее большое спасибо! --- Чем больше я пишу на JavaScript, тем сильнее ненавижу IE!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 10:47 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
На сколько я помню ;) у меня не было особых проблем с кодировкой в ajax... 1) XMLHttpRequest - тут и на входе и на выходе UTF-8 однозначно (есть не согластные?)... а чё разве ;) в php такой расклад не проходит?:) header('Content-Type: text/html; charset: windows-1251'); $_GET['msg'] = iconv('UTF-8', 'windows-1251', $_GET['msg']); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 11:13 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
Наверно что-то я недопонял. Требуется решение, чтобы со стороны клиента отрабатывали правильно оба вида запросов. --- Чем больше я пишу на JavaScript, тем сильнее ненавижу IE!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 12:23 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
Не проходит. AJAX при передаче использует по 2 байта на символ полюбому. Однозначно надо юзать utf8 - чем плохо? - Надо уходить от локальных кодировок (да и зачем вообще использовать 1251?). А с учетом частого использования на сайте нескольких языков вариантов нет и вовсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 12:25 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
2IDVsbruck, полностью с тобой согласен. Как заставить стандартный <form action='********' method=POST> отвечать в UTF-8? --- Чем больше я пишу на JavaScript, тем сильнее ненавижу IE!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 12:31 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
Указать в заголовке страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 12:31 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
:) действительно что-то ты не допонял, зачем такое нужно? разве ты не знаешь, из каких источников приходит какая кодировка? .... аааа... наверное rss, а китайский есть? :) чтобы со стороны клиента отрабатывали правильно оба вида запросов. - это бред ;)... допустим, ajax делает отсылает запрос в UTF-8, на сервере есть обработчик типа ($_GET['msg'] = iconv('UTF-8', 'windows-1251', $_GET['msg']);) который конвертирует UTF-8 в windows-1251... что-то там считает и отсылает запрос ;) в 1251, согласно header('Content-Type: text/html; charset: windows-1251');... :) ты писал: "Задача в том, чтобы получать правильную кодировку на сервере или переводить её в правильную." если уж сервер получил правильную кодировку, зачем её переводить ещё раз в правильную ;)... не понятно приложение, которое принимает разные виды кодировки... типа один пользователь вводит текст в 1251 другой на utf-8 :)? - такое не бывает. ;) ну если бывает то если у тебя само приложение в 1251 :) сервер никак не победит в какой кодировке пришел к нему запрос, надо видимо сделать ;) комбобокс с возможностью выбора введенной кодировке... ;) ну как я уже сказал ;) типа один пользователь вводит текст в 1251 другой на utf-8 :)? - такое не бывает. причину смотри ;) где-то тут.... больше чем это, header('Content-Type: text/html; charset: windows-1251'); $_GET['msg'] = iconv('UTF-8', 'windows-1251', $_GET['msg']); тебе не надо ;) потому-что можно придумать ещё очень много возможных вариантов... ;) ну на худой конец, у тебя может быть максимум две кодировки, одна через хмлреквест утф-8, ;) что в принципе нас ничем не ограничивает, создадим ещё один параметр index.php?xml=true... :) то конвертим в то что нам надо ;) в php iconv'om, и если через форму ;) где xml не true, то та кодировка в которой приложение, и конвертим во что надо... сорри за штурм ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 12:40 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
Я немножко недогоняю как так может быть тынц . В заголовке utf-8 в тексте windows-1251 и что самое интересное ведь правильно во всех браузерах отображаеться. --- Чем больше я пишу на JavaScript, тем сильнее ненавижу IE!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 13:44 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
скриншот немного не в тему, потому что показываешь response content... ты посмотри response header... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 13:56 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
В response header -> text/html; charset: UTF-8 так значит что у меня сейчас utf-8??? почему тогда когда в контенте ставлю вместо windows-1251 utf-8 вижу иероглифы? --- Чем больше я пишу на JavaScript, тем сильнее ненавижу IE!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 14:19 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
не знаю что он там пишет, но какая кодировка в мета теге прописана та и будет... мб он просто твой сниффер(дебагер) версией не вышел, он же английский ;) и может не в курсе что есть русский ;) windows-1251 почему тогда когда в контенте ставлю вместо windows-1251 utf-8 вижу иероглифы? - потому что в конфиге апаче на твою виртуальную директорию прописан дефолт windows-1251... может харе уже из пальца высасывать?:) :) тебе надо знать одно, какая кодировка твоего приложения, туже кодировку и надо принимать от входящих запросов ;) кодировка прописывается метатегом, или каким-нибудь другим способом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 14:39 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
Evgeniy_SH почему тогда когда в контенте ставлю вместо windows-1251 utf-8 вижу иероглифы? - потому что в конфиге апаче на твою виртуальную директорию прописан дефолт windows-1251... либо сам контент сохранен в кодировке cp1251 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 00:19 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
Незнаю какая там кодировка, у меня скрипт примерно такой-же и еше и нету доступа к серверу... Яваскрипт выводит всегда в юникоде. пытался ен\де кодировать все 3 варанта иероглвы, в чистов виде получаю "1/2, 1/4 и т.д" при енкодировании юникода получаю арабка-тарабарские символы, при декоде коресо-китайские, кодировка прописаная в хеде никакне влияет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 08:59 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
> В response header -> text/html; charset: UTF-8так значит что у меня > сейчас utf-8??? Значит, что ответ (response) прибыл в utf-8. Не более. А уж как им далее распорядиться - дело хозяйское. > почему тогда когда в контенте ставлю вместо > windows-1251 utf-8 вижу иероглифы? Не надо путать иероглифы (символы национальной письменности) к крякозябрами. Как Вы указали интерпретировать клиенту Ваши байты - так он и делает. Примеры тут: http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D1%8F%D0%BA%D0%BE%D0%B7%D1%8F%D0%B1%D1%80%D1%8B Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 21:43 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
vkle, Уже достали. В любой ветке, куда не глянь, имеется проблема - кракозябры, а самим разобраться - слабо. Однако же, если хотя бы один раз самостоятельно не разберутся - будут всё время спрашивать. И ведь, не ответишь! На каком языке-то отвечать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 21:52 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
Ребята, все уже сделал как надо. А сумятицу внесло, то, что почему-то думал, что DOMDocument->saveHTML() всегда возвращает UTF-8. А оказывается, он возвращает в той кодировке, в которой был сделан DOMDocument->loadHTMLFile , причем кодировку он брал из тега meta и пофигу что Вы там присвоите в DOMDocument->encoding . В итоге я не понимал как так, браузер получает все в UTF-8, а запросы делает в разных кодировках. Осталось понять, как на все это влияет header('Content-Type: text/html; charset: *****'); . --- Чем больше я пишу на JavaScript, тем сильнее ненавижу IE!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 22:11 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
NT Man, Переходи таки на UTF-8. Щас так многие делают - проблем не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 22:31 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
ShSergeПереходи таки на UTF-8. Щас так многие делают - проблем не будет. Именно так и решил проблему ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 22:34 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
Автор: ShSerge > И ведь, не ответишь! На каком языке-то отвечать? Гхм... Попробуй отвечать на олбанском с транслитом в латиницу. Вроде как латиница при перекодировках остается AS IS, а олбанский, возможно, более понятен нонешнему подрастающему поколению, нежели чтение мануалов. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 22:59 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
vkle, +1. Так я ж на олбанском только со словарём... . Даже если и хочу чего-то написать - тьфу - на русский незаметно для себя перехожу (хе-хе). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 23:22 |
|
||
|
Кодировка в запросах
|
|||
|---|---|---|---|
|
#18+
ShSerge самим разобраться присовокупляйтесь А то как-то жваво все почалось, а потом, видать, - порох в пороховницах закончилсо... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 09:23 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=35639102&tid=1455613]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 430ms |

| 0 / 0 |
