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

rockboy2012

Новичок
Здравствуйте.
Был сайт в кодировке 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
 
Зачем писать url-кодированные данные в ПС? И что есть ПС?

echo mb_detect_encoding(urldecode(' %D2%F0%E8+%D2%EE%EF%EE%EB%FF ')); все равно покажет UTF-8
 
в яндексе, гугле и прочих сайтах, ссылающихся на наш, все ссылки в таком виде: site.ru/url-кодированные в вин
при переходе по ним человек видит чтото типа ��� ������
 
попробывать найти результаты для строки как utf, если нет, то как для строки перекодированной из 1251, результаты есть.
вернуть 302 код на правильный локейшен.
После переиндексации сайта поисковиками убрать костыль

Или еще проще.
Сменить переменную на ?mu=Текст в utf=8
А по вызову ?m=текст в 1251 сделать переадресацую на mu=
 
в одном проекте использовал след. костыль:
PHP:
if (!mb_check_encoding($param, 'UTF-8')) {
    $param= mb_convert_encoding($param, 'UTF-8', 'Windows-1251');
}
 
Сверху