![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Попробовал XMLHttpRequest - хорошая вещь. Однако, Опера как обычно глючит.
Если MSIE и Mozilla, Firefox нормально передают параметры: Data.open('POST', url, true); Data.open('GET', url, true); то опера поддерживает только: Data.open('GET', url, true); Если в url будут русские буквы, например, сделать чат и передавать через URL фразы, то Опера будет выводить разную кракозябу, например, слово "Молодец" выведется как: молодец Вообщем вопрос: а как заставить оперу корректно передавать через Data.open('GET', url, true); русские символы, чтобы чат нормально работал. Если передавать цифры или латинские символы, то все ОК. -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Смотри в сторону encodeURIComponent. А именно - перекодируй русские буквы в %xx, тогда всё будет ок.
Но у меня таких проблем не возникло. Точнее, возникло, но об этом позже. |
|||
|
||||
| Black |
|
||||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
encodeURIComponent - уже пробовал... передаю данные в PHP скрипт, предварительно обработав их в JavaScript'e используя encodeURIComponent().
PHP-скрипт принимает данные.. пропускаю их через
Однако, не помогает получаются те же крякозябы :-) Интересно почему PHP скрипт не перекодирует данные обратно, вроде использую функцию urldecode() ??? Версия PHP 5.0.копейки -------------------- Могу все, но ничего не умею :-) |
||||
|
|||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
В Опере надо так:
Data.open('post', url, true); Data.open('get', url, true); В нижнем регистре. PHP-скрипт возвращает русские символы через XMLHttpRequest в Оперу нормально... т.е. фразы чата отображаются корректно для пользователей Оперы. Однако, если они сами станут писать в русской кодировке в чат попадут кракозябы :-) Придется опять забить на пользователей Оперы... Кстати, если использовать encodeURI, encodeURIComponent тогда все браузеры выводят кракозябы :-) Только escape() в PHP скрипт отправляет строку в URL формате. Однако, функция urldecode() не может ее перевести :-) -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
А под какой Оперой тестишь?
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Aliance
Opera Версия: 8.0 Сборка: 7561 Платформа: Win32 Система: Windows 2000 |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Вот этого я и боялся
|
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Кодировка на странице какая в Content-type, посмотри что стоит и в meta и в заголовках. Возможно не русская, вот Опера и тупит кодируя с юникода на левую кодировку.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Sardar
очень странно, но при передачи данных методом post символы +, &, # исчезают. Все остальные ОК -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Скорее всего, текст принимаетсья как URL закодированный, следовательно все:
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Sardar
решил проблему путем замены символов соответствующими URL-кодами: # на %23 + на %2B & на %26 -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
PHP-DIRECTOR а не проще ли escape функцию заюзать ?
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Black |
|
||||||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Sardar
пробовал... не знаю ничего не выходит, опять появляются кракозябы... Решил проблему так: беру строку и посимвольно кажный символ кодирую соответствующим URL-кодом данного символа. Так работает :-) Не знаю почему так выходит, но стандартные функции типа: escape(), encodeURI() не помогают. Используя их, все равно выходят кракозябы...
не помогло
не помогло -------------------- Могу все, но ничего не умею :-) |
||||||
|
|||||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Скорее всего потому что escape кодирует символ в юникод, а на сервер у тебя PHP или что то подобное с юнокодом, которое с юникодом не дружит, вот и выходит всякая лажа.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
А назад декодируешь?
Кидай код ЗЫ: еще можно воспользоваться спец. функцией для таких операция - encodeURIComponent() |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |