Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с передачей методом GET, utf8_decode, JS 
:(
    Опции темы
Elfet
  Дата 19.3.2008, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

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



Всем привет! У меня возникла проблема: я использую на стороне клиента вот эту вот функцию:
Код

function urlEncode(str) {
      // Простая проверка
      if (!str || typeof(str) == "undefined") return;
      // Создаем хеш для хранения символов, где ключ - сам символ,
      // а значение - его шестнадцатеричеый эквивалент
      var utf8Array = {};
      // Сначала добавляем стандартные 255 символов
      var i = j = j2 = 0;
      for (i = 0; i <= 255; i++) {
            j = parseInt(i/16); var j2 = parseInt(i%16);
            utf8Array[String.fromCharCode(i)] = ('%' + j.toString(16) + j2.toString(16)).toUpperCase();
      }
      // И отдельно проработаем кириллицу
      var rusAdditional = {
            '_' : '%5F', 'А' : '%C0', 'Б' : '%C1', 'В' : '%C2', 'Г' : '%C3', 'Д' : '%C4', 'Е' : '%C5',
            'Ж' : '%C6', 'З' : '%C7', 'И' : '%C8', 'Й' : '%C9', 'К' : '%CA', 'Л' : '%CB', 'М' : '%CC',
            'Н' : '%CD', 'О' : '%CE', 'П' : '%CF', 'Р' : '%D0', 'С' : '%D1', 'Т' : '%D2', 'У' : '%D3',
            'Ф' : '%D4', 'Х' : '%D5', 'Ц' : '%D6', 'Ч' : '%D7', 'Ш' : '%D8', 'Щ' : '%D9', 'Ъ' : '%DA',
            'Ы' : '%DB', 'Ь' : '%DC', 'Э' : '%DD', 'Ю' : '%DE', 'Я' : '%DF', 'а' : '%E0', 'б' : '%E1',
            'в' : '%E2', 'г' : '%E3', 'д' : '%E4', 'е' : '%E5', 'ж' : '%E6', 'з' : '%E7', 'и' : '%E8',
            'й' : '%E9', 'к' : '%EA', 'л' : '%EB', 'м' : '%EC', 'н' : '%ED', 'о' : '%EE', 'п' : '%EF',
            'р' : '%F0', 'с' : '%F1', 'т' : '%F2', 'у' : '%F3', 'ф' : '%F4', 'х' : '%F5', 'ц' : '%F6',
            'ч' : '%F7', 'ш' : '%F8', 'щ' : '%F9', 'ъ' : '%FA', 'ы' : '%FB', 'ь' : '%FC', 'э' : '%FD',
            'ю' : '%FE', 'я' : '%FF', 'ё' : '%B8', 'Ё' : '%A8'
      }
      for (i in rusAdditional) utf8Array[i] = rusAdditional[i];
      // Посимвольно заменяем символы на их шестнадцатиречные эквиваленты
      var res = "";
      for(i = 0; i < str.length; i++) {
            var simbol = str.substr(i,1);
            res += typeof utf8Array[simbol] != "undefined" ? utf8Array[simbol] : simbol;
      }
      // Пробелы заменяем на плюсы
      res = res.replace(/\s/g, "+");
      return res;
}


А затем на сервере пытаюсь расшифровать это. Пробовал с помощью utf8_decode() - но не выходит. Мне нужно получить текст в кодировке UTF-8.
Код

utf8_decode($_GET['name'])

Но тут не то что-то выходит. Как правильно расшифровать это? Заранее спасибо!  smile 


--------------------
PM MAIL WWW Skype   Вверх
DioNiR
Дата 19.3.2008, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 30.12.2006

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



iconv ?
--------------------
Думали это конец? Ха, всё только начинается.
PM MAIL   Вверх
Elfet
Дата 19.3.2008, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

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



DioNiR, а из чего переконвентировать то? я не понимаю что я получаю в результате.

Добавлено через 29 секунд
Цитата
%C0%ED%F2%EE%ED%FB%F7



--------------------
PM MAIL WWW Skype   Вверх
Canarat
Дата 19.3.2008, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

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



Elfet, 
Код

utf8_decode(urldecode($_GET['name']));

?
PM MAIL   Вверх
Elfet
  Дата 19.3.2008, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

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



Canarat, нет, не помогает smile
Как вобще можно зашифровать в JS текст, что бы без помех методом GET передать его в php?


--------------------
PM MAIL WWW Skype   Вверх
KEM
Дата 20.3.2008, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 28.1.2005

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



может ?
Код

urldecode("%C0%ED%F2%EE%ED%FB%F7");
//Антоныч



Это сообщение отредактировал(а) KEM - 20.3.2008, 01:08
--------------------
Мы растворяем сознание жизни, реальностью стал бешеный ритм...
PM MAIL   Вверх
smartov
Дата 20.3.2008, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Elfet, 
Цитата(Elfet @  19.3.2008,  22:04 Найти цитируемый пост)
Как вобще можно зашифровать в JS текст, что бы без помех методом GET передать его в php?

encode - функция такая есть в js
PM MAIL   Вверх
Canarat
Дата 20.3.2008, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

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



Elfet, значит проблема в твоих функциях. Как показал KEM, данные что ты получаешь действительно зашифрованы encodeURIComponent(или подобной), следовательно получение исходной строки в РНР-скрипте - задача функции urldecode.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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