За последние 24 часа нас посетили 24587 программистов и 1729 роботов. Сейчас ищут 975 программистов ...

Ссылка на сторонний сайт

Тема в разделе "PHP для новичков", создана пользователем duhnochi, 11 июл 2013.

  1. duhnochi

    duhnochi Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте, у меня появилась необходимость разместить на одной из страница своего сайта ссылку, куда пхп подставляет переменную с русскоязычным значением

    Код (Text):
    1.  
    2. <?php $val = "Значение"; ?>
    3. <a href="site.ru/page.html?value=<?php echo $val; ?>"> Ссылка </a>
    Сайт, на котором расположена страница с этим скриптом, использует кодировку UTF-8.
    Site.ru же, использует кодировку windows-1251

    Site.ru принимает значение 'GET 'переменной 'value' в виде кракозябры типа "фыв"
    А если отправить на самом site.ru через форму (работает через get) то же самое слово, то оно выглядит примерно так "%C7%ED%E0%F7%E5%ED%E8%E"

    Как можно средствами php сконвертировать значение переменной в такой формат?

    Пробовал средствами bin2hex, не получилось. Заранее благодарю за помощь
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    iconv и urlencode
     
  3. duhnochi

    duhnochi Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    5
    Симпатии:
    0
    Большое спасибо, попробую

    Да, проблема решилась.
    Вот решение (спасибо Ke1eth):
    Код (Text):
    1. urlencode(iconv("UTF-8", "windows-1251", $stat['query']))
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Только если URL закодирован в UTF-8, есть надежда в современных браузерах увидеть буквально русский текст в адресной строке - как в русской википедии. Понятно если принимающая сторона хочет иную кодировку, придется указать иную.

    Хотя умный [ принимающий ] сайт мог бы проверять кодировку URL и самостоятельно перекодировать GET-параметры под себя.
    Каменный век. Пичалька!

    wiki: URL, Кодирование.