Автор Тема: Какая это кодировка?  (Прочитано 2043 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zond

  • Коллежский регистратор
  • *
  • Сообщений: 11
  • Репутация: 0
Какая это кодировка?
« : јРЩ 23, 2009, 06:20:50 pm »
Всем  привет!! Трабл: слово: Любовь, оно же закодированное: %D0%9B%D1%8E%D0%B1%D0%BE%D0%B2%D1%8C (сниферил). Никак не могу понять что это за кодировка??

Оффлайн Alexiski

  • Любитель давать советы
  • Надворный советник
  • *****
  • Сообщений: 307
  • Репутация: 15
  • Пол: Мужской
Re: Какая это кодировка?
« Ответ #1 : јРЩ 23, 2009, 06:36:22 pm »

Оффлайн zond

  • Коллежский регистратор
  • *
  • Сообщений: 11
  • Репутация: 0
Re: Какая это кодировка?
« Ответ #2 : јРЩ 24, 2009, 08:43:46 pm »
Не могу добиться, чтобы php выводил %D0%9B%D1%8E%D0%B1%D0%BE%D0%B2%D1%8C. Вместо этого вижу: Ëþáîâü
(echo utf8_encode("Любовь")  ).
А когда смотрю через http анализатор (посылаю на сервер), то вижу: Любовь. В чем засада? Как увидеть эти проценты?
 

Оффлайн Alexiski

  • Любитель давать советы
  • Надворный советник
  • *****
  • Сообщений: 307
  • Репутация: 15
  • Пол: Мужской
Re: Какая это кодировка?
« Ответ #3 : јРЩ 25, 2009, 12:31:10 am »
На самом деле, конечно, тут 2 шага кодирования: сначала UTF-8 переводит каждый символ в 2, а затем URL-encoding
Я не понял, что Вас интересуют оба шага

Сделайте rawurlencode(utf8_encode("Любовь"))

Впрочем, пойдет и просто urlencode(utf8_encode("Любовь"))

Оффлайн zond

  • Коллежский регистратор
  • *
  • Сообщений: 11
  • Репутация: 0
Re: Какая это кодировка?
« Ответ #4 : јРЩ 27, 2009, 06:38:36 pm »
Результат снова отличается:
вместо    %D0%9B%D1%8E%D0%B1%D0%BE%D0%B2%D1%8C,
получаю: %C3%8B%C3%BE%C3%A1%C3%AE%C3%A2%C3%BC
Они схожи, но все же отличаются.  Может нужно ещё одно какое-то раскодирование поставить?
Первым способом передается текст в Я.поисковике
« Последнее редактирование: јРЩ 27, 2009, 06:52:31 pm от zond »

Оффлайн zond

  • Коллежский регистратор
  • *
  • Сообщений: 11
  • Репутация: 0
Re: Какая это кодировка?
« Ответ #5 : ёоЭм 07, 2009, 10:59:55 am »
Сейчас попробовал взять контент с одноклассников:
echo file_get_contents("http://odnoklassniki.ru");. Вместо обычного текста выводит
что то вроде Логин Пароль и т.п. Как (и чем!) эту инфу можно раскодировать.
Вариант utf8_decode() не помогает- он лишь заменяет всю эту абракадабру на символы: ??????
Кто в курсе?

Оффлайн jx

  • Глобальный модератор
  • Коллежский асессор
  • *****
  • Сообщений: 291
  • Репутация: 16
  • Пол: Мужской
Re: Какая это кодировка?
« Ответ #6 : ёоЭм 07, 2009, 07:59:07 pm »
http://forum.ishodniki.ru/index.php/topic,18356.msg76685.html
посмотри тут функцию utf8_cp1251. у меня работает

Оффлайн zond

  • Коллежский регистратор
  • *
  • Сообщений: 11
  • Репутация: 0
Re: Какая это кодировка?
« Ответ #7 : ёоЭм 12, 2009, 04:14:06 pm »
jx, большое тебе спасибо! Работает!
Вот только не могу понять, зачем вместо сомволов "%" ты используешь  "\x" : \xD0\xB0
Ведь URL кодированная строка выглядит: %D0%B0.

Оффлайн razb

  • Глобальный модератор
  • Надворный советник
  • *****
  • Сообщений: 420
  • Репутация: 13
  • Пол: Мужской
Re: Какая это кодировка?
« Ответ #8 : ёоЭм 12, 2009, 04:35:39 pm »
в С\С++ 16-ричные значения кодируються так, а в урл вместо \х стоит %, тут нет ничего необычного)
"Интеллект - это способность избежать выполнения работы,
но, тем не менее, сделать так, чтобы она была выполнена" Linus Torvalds.

Оффлайн zond

  • Коллежский регистратор
  • *
  • Сообщений: 11
  • Репутация: 0
Re: Какая это кодировка?
« Ответ #9 : ёоЭм 12, 2009, 06:59:47 pm »
Да, вот только С++ я не использую, но этот вариант в php работает  :dance: