urlencode для UTF-8

Тема в разделе "PHP", создана пользователем VadoZ, 18 май 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. VadoZ

    VadoZ Постоялец

    Регистр.:
    23 окт 2007
    Сообщения:
    146
    Симпатии:
    55
    нужно отпарсить сайтик, который юзает русские урлы и UTF-8. Соответственно urlencode не спасает.
    Что посоветуете?
     
  2. masto

    masto Прохожие

    а в чём проблема?
    urldecode из utf даёт тот же самый utf.
     
  3. VadoZ

    VadoZ Постоялец

    Регистр.:
    23 окт 2007
    Сообщения:
    146
    Симпатии:
    55
    Мне не надо urldecode.
    Мне надо УРЛ скормить курлу, а он его русскими буквами не понимает.

    Вот исходная строка:
    форекс
    мы должны получить
    %D1%84%D0%BE%D1%80%D0%B5%D0%BA%D1%81
    а после урлэнкода получаем
    %F4%EE%F0%E5%EA%F1

    байтиков ровна в 2 раза меньше чем надо :)

    Может конечно трабла с настройкой РНР.... но я уже весь мозг поломал над сим траблом, пока ничего путнего не нашел.
     
  4. n42

    n42

    Регистр.:
    8 фев 2008
    Сообщения:
    206
    Симпатии:
    25
    первая строчка это УТФ. Д0ХХ и Д1ХХ это русские буквы.

    Второе возможно русское слово вдругой кодировке.

    А что за код делает это преобразование?

    выглядит как

    urlencode(urldecode($s1, "UTF-8"), "Windows-1251");
     
    VadoZ нравится это.
  5. VadoZ

    VadoZ Постоялец

    Регистр.:
    23 окт 2007
    Сообщения:
    146
    Симпатии:
    55
    Спасибо.
    Продятлил один скользкий момент - страничку на которой были урлы я предварительно отиконвил в 1251 :).
    Естественно урлэнкод выдавал мне не то.
    Вопрос решен.
     
Статус темы:
Закрыта.