24.10.2008, 19:31 | #1 |
Специалист
|
Автозамена % на русский в УРЛАХ
Начал экспериментировать с кириллицей в url-адресах...но хотелось бы достичь вот какого эффекта...
Сабж: УРЛ: http://xxx.xx/?tag=недорого После нехитрых преобразований (заюзав urlencode()) выглядит так: http://xxx.xx/?tag=%ED%E5%E4%EE%F0%EE%E3%EE Гоша с Яшей понимают его как http://xxx.xx/?tag=недорого . Все бы хорошо, да не совсем. В строке браузера такой урл имеет все тот же "процентный" вид: http://xxx.xx/?tag=%ED%E5%E4%EE%F0%EE%E3%EE Врятли пользователю удобно ориентироваться по таким ссылкам. Обратимся к Вики и рассмотрим ссылку: http://ru.wikipedia.org/wiki/Бернерс-Ли,_Тим (именно так как я написал) В коде УРЛ выглядит так: http://ru.wikipedia.org/wiki/%D0%91%D0%B5%...%A2%D0%B8%D0%BC Но Вики как то чудно заменят "процентный" УРЛ на более человеко-подобный для браузера. Как сделать именно так, кто то может подсказать? Наверняка решение совсем простое но я его в упор не вижу. Спасибо.
__________________
|
25.10.2008, 00:57 | #2 |
Починяю примуса
Регистрация: 26.09.2008
Сообщений: 1,505
Вес репутации: 285
|
Со статикой работаем так
ловим скриптом $_SERVER['REQUEST_URI'] урл декодируем urldecode перегоняем из utf-8 в ...кодировку сайта Что касается динамики....смысла не вижу, но принцип похожий только ловим массив $_GET, значения конвертим... далее обработка движком В общем и целом, кирилица в урл - зло, очень много подводных камней, начиная от настроек локали сервера заканчивая конкретной реализацией. Плюс браузеры... Добавлено через 3 минуты о, сейчас посмотрел насчет динамики - браузер конвертит автоматом -красивой строки запроса не увидите, поэтому статика здесь нужна Добавлено через 1 минуту впрочем как и у вики
__________________
Последний раз редактировалось Atomic; 25.10.2008 в 00:57. Причина: Добавлено сообщение |
25.10.2008, 01:02 | #3 |
Особый статус
|
Challenger, про кодировки, главное, не забывайте. Помню первый опыт написания движка, когда из ФФ достаточно было получить urldecode($_GET['query])), а из IE приходила белиберда, которую еще нужно сконвертить iconv('utf-8', 'windows-1251', urldecode($_GET['query])))...
|
25.10.2008, 16:28 | #5 |
Специалист
|
Ребят, мой вопрос кто-нить понял? Есть решение моей проблеме?
__________________
|
25.10.2008, 16:32 | #6 | |
Специалист
|
Цитата:
А вид с "процентного" на нормальный русский в первую очередь браузер сам переключает. Где-то в Опере у себя видел флажек такой. |
|
25.10.2008, 20:10 | #8 | |
Специалист
|
Цитата:
Извиняюсь если криво описал... пока сам поищу решение снова.
__________________
|
|
26.10.2008, 23:03 | #9 |
Специалист
|
Товарищ Ufaweb был ближе всех к правильному решению, за это ему огромное спасибо и низкий поклон... дал так сказать "направление".
И так, кому будет интересно, вот решение: Шаг 1: Конвертим принудительно нужный параметр в утф-8 и затем делаем транслитерацию. Выводим для формирование урла то что получили, в итоге в коде будет "процентный" вариант, а в ЛЮБОМ браузере будет кириллица. PHP код:
PHP код:
__________________
|
27.10.2008, 00:06 | #10 |
Особый статус
|
В смысле в адресной строке по-русски?
Надо проверить... Добавлено через 1 минуту Или в ссылках <a href="?q=абвгд">? Последний раз редактировалось Ufaweb; 27.10.2008 в 00:06. Причина: Добавлено сообщение |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ДоговорА... русский не учим? | crash | Курилка | 3 | 03.10.2008 15:04 |
Русские буквы в УРЛах | solomko.net | Вопросы по работе системы | 21 | 02.08.2008 23:47 |
Русский сайт для буржуев. | kazanclub | Вопросы по работе системы | 6 | 19.05.2008 00:45 |
Защита от псевдовараметорв в урлах | mihey | Вопросы от новичков | 4 | 03.04.2008 23:46 |
Ошибки в УРЛах с пробелами | Peter | Ошибки при работе с системой | 2 | 25.02.2007 00:31 |
Часовой пояс GMT +3, время: 19:09.