Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как экранировать строки? кирилица кракозябрами в cookie 
:(
    Опции темы
Reptor
Дата 12.7.2005, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Уже много чего пересмотрел и перепробовал нечего не выходит. проблема такова->
PHP скрипт записывает слово в cookie а когда JavaScript'ом вытягиваеться это слово у него какаята неизвестная кодировка так как мне это слова предоставить в нормальном виде
Добавлено @ 13:42
P.S на русском языке
PM MAIL ICQ   Вверх
Aliance
Дата 12.7.2005, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Использовать функцию (де)кодирования, такой как escape/unescape

Еще бы неплохо бы посматривать прикрепленные топики.
Перенесено в раздел для начинающих.
PM MAIL WWW ICQ Skype   Вверх
Reptor
Дата 12.7.2005, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



я это ужё всё перепробовал нечего не ыходит
PM MAIL ICQ   Вверх
Aliance
Дата 12.7.2005, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Кидай код.
PM MAIL WWW ICQ Skype   Вверх
Reptor
Дата 12.7.2005, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Код

 var arg = 'имя_куки'+"=";
     var alen = arg.length;
     var clen = document.cookie.length;
     var endstr = 0;
     var i = 0;
     while (i < clen)
     {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg){
             endstr = document.cookie.indexOf (";", j);
             if (endstr == -1){
                  endstr = document.cookie.length;
             }
             value=unescape(document.cookie.substring(j, endstr));
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) { break; }
      }


в value содержиться значение куки вот его надо привести к нормальному виду
PM MAIL ICQ   Вверх
Sardar
Дата 12.7.2005, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Reptor это ты читаешь куку, а когда пишешь, функцией escape пользуешся?


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Reptor
Дата 12.7.2005, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Цитата
функцией escape пользуешся?


Нет не пользуюсь но куку пишет у меня ПХП, а там нормальный русский текст.
PM MAIL ICQ   Вверх
Sardar
Дата 12.7.2005, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Ну наверное сам можешь догадаться, что пишет PHP куку явно не в urlencoded smile
Подсказка: есть функции (raw)urlencode


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Reptor
Дата 12.7.2005, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



в пхп я её применил а как в JS какой функцией строку преобразовать?
PM MAIL ICQ   Вверх
Aliance
Дата 12.7.2005, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Чего не понять: в PHP ты кодируешь ее, в а JS декодируешь ее.
PM MAIL WWW ICQ Skype   Вверх
Reptor
Дата 12.7.2005, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Цитата
Чего не понять: в PHP ты кодируешь ее, в а JS декодируешь ее.

Понятно, какой функциеё я ж спросил
PM MAIL ICQ   Вверх
Aliance
Дата 12.7.2005, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(Sardar @ 12.7.2005, 20:03)
Подсказка: есть функции (raw)urlencode

smile
PM MAIL WWW ICQ Skype   Вверх
Reptor
Дата 12.7.2005, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



ну так это вроде как в пхп а JS выдаёт ошибку
PM MAIL ICQ   Вверх
Sardar
Дата 12.7.2005, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Reptor PHP rawurlencode кодирует строку в URL совместимую(%код), JS unescape декодирует эту строку. НО PHP работает с однобайтовыми строками, а JS с юникодом(UCS-2). Следовательно нужно в заголовках и в meta прописать ту кодировку, в которой у тебя строки на сервере.

Лучше если ты конвертнёшь их на сервере в UTF-8:
Код
echo rawurlencode(iconv("windows-1251", "UTF-8", $your_string));

Конвертнёт строку из windows-1251 в UTF-8, затем закодирует в url совместимую. Эту термоядерную смесь выросшую в 6 раз декодируем на клиенте через decodeURIComponent. При этом не важно какая кодировка на сервере и на клиенте, мы получим кирилицу(юникод).


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Reptor
Дата 13.7.2005, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Я всё так и зделал но JS выдаёт следущую ошибку ->

"Обнаружена недопустимая кодировка при попытке декодирования"
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.