За последние 24 часа нас посетили 28883 программиста и 1587 роботов. Сейчас ищут 1035 программистов ...

Переход на другую кодировку

Тема в разделе "Прочие вопросы по PHP", создана пользователем RockBoy, 27 окт 2011.

  1. RockBoy

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

    С нами с:
    18 июл 2010
    Сообщения:
    13
    Симпатии:
    0
    Здравствуйте.
    Был сайт в кодировке win-1251, перешли на кодировку utf-8
    Исходный запрос для сайта: Три тополя
    в вин кодировке он %D2%F0%E8+%D2%EE%EF%EE%EB%FF
    в ютф кодировке он %D0%A2%D1%80%D0%B8+%D0%A2%D0%BE%D0%BF%D0%BE%D0%BB%D1%8F
    В ПС храняться ссылки на наш сайт вида site.ru/?m=%D2%F0%E8+%D2%EE%EF%EE%EB%FF (т.е. еще на вин кодировку)

    Если пользователь по ним переходит, то то видит ��� ������

    Вопрос: как лучше решить эту проблему? т.е. нужно узнать, исходный запрос в win-1251 кодировке или нет. если да - преобразовать к виду utf-8
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Если достаточно просто отличить utf-8 от НЕ utf-8 - можно попробовать сделать это так:
    PHP:
    1. <?php
    2. $str = 'Привет';
    3. if(preg_match('/.*/u', $str))
    4.     echo('UTF-8');
    5. else
    6.     echo('Windows-1251');
    7. ?>