Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ссылки
 
 автор: ladan   (26.01.2012 в 00:04)   письмо автору
 
 

Добрый день, как можно сделать так, чтоб ссылки в строке браузера были на русском языке?

Сейчас что-то типа этого
read.php?zz=%D2%E5%EC%F0%FE%EA&razdel=%CE%E1%F1%F3%E6%E4%E5%ED%E8%E5%20%E6%E8%EB%FC%FF&id_theme=119

  Ответить  
 
 автор: deimand   (26.01.2012 в 00:09)   письмо автору
 
   для: ladan   (26.01.2012 в 00:04)
 

<?php

 header
("Content-type: text/html; charset=utf-8");
 echo 
'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
 echo 
'<a href="?q=эта ссылка будет отображаться нормально в кодировке utf-8">Ссылка</a>';

?>

  Ответить  
 
 автор: ladan   (26.01.2012 в 00:23)   письмо автору
 
   для: deimand   (26.01.2012 в 00:09)
 

а у меня все документы в Windows-1251 переделаны... с такой кодировкой нельзя будет добиться русских ссылок? :)

  Ответить  
 
 автор: Slo_Nik   (26.01.2012 в 01:20)   письмо автору
 
   для: ladan   (26.01.2012 в 00:23)
 

вот четыре функции для работы с URL, попробуйте rawurlencode() / rawurldecode()

  Ответить  
 
 автор: ladan   (26.01.2012 в 03:44)   письмо автору
 
   для: Slo_Nik   (26.01.2012 в 01:20)
 

наверно не так объяснил в первом посте :) В строке браузера браузер автоматически заменяет русские символы на "%7L%X" и тп. у меня есть ссылки такого типа

<a href="ссылка">ссылка</a>

по ней кликаешь и в строке браузера краказябры, можно эти краказябры на нормальные буквы заменить?

Пробовал кодировать через эти функции... хотя зачем кодировать, если в строке браузера нужен русский текст :)

  Ответить  
 
 автор: Slo_Nik   (26.01.2012 в 03:47)   письмо автору
 
   для: ladan   (26.01.2012 в 03:44)
 

приведите пример ссылки

  Ответить  
 
 автор: ladan   (26.01.2012 в 03:48)   письмо автору
 
   для: Slo_Nik   (26.01.2012 в 03:47)
 

вот такая ссылка у меня
<a href="../forum/index.php?zz=Анапа">Анапа</a>

  Ответить  
 
 автор: ladan   (26.01.2012 в 03:53)   письмо автору
 
   для: ladan   (26.01.2012 в 03:48)
 

нужно что-то типа как вот здесь
http://ru.wikipedia.org/wiki/Википедия:Скайп/Чат_администраторов_и_подводящих_итоги

если в адресной строке на сайте википедии писать русские буквы, то они не заменяются на % и латиницу с цифрами

  Ответить  
 
 автор: deimand   (26.01.2012 в 07:33)   письмо автору
 
   для: ladan   (26.01.2012 в 03:53)
 

Да, но ваша ссылка отличается от той что в википедии, вы не находите? У вас русские буквы идут после знака «?», а в википедии до. Вопроса там вообще нет. Директория «кушается» браузером на ура, а вот query string почему-то нет. Если добавить в ссылку википедии что-нибудь типа ?q=параметр, то весь эффект пропадет.

Чтобы использовать все прелести русских символов в адресной строке и не иметь головняков, обязательно все входящие параметры имитировать директориями.

Например поисковый запрос следует отлавливать так: <a href="http://site.ru/поиск по сайту/ключевая фраза/">1</a>. Тогда из REQUEST_URI можно получить "/поиск по сайту/ключевая фраза/" или "/каталог/мыла/не вонючие/" и т.д. Но это для простых сайтов, типа визиток для заказчикав потому как в сложном приложении вы просто запаритесь отлавливать большой набор переменных.

Посмотрите поиск Яндекса, там такая же проблема со ссылкой. Живут же. А у Гугла поисковая фраза уже является хэшем, что тоже нормально понимается браузером. Собственно из-за query string русские символы в ссылках почти не используют.

  Ответить  
 
 автор: ladan   (26.01.2012 в 11:51)   письмо автору
 
   для: deimand   (26.01.2012 в 07:33)
 

тогда лучше оставлю так как есть. Работает и ладно :)) Спасибо всем

  Ответить  
 
 автор: cheops   (26.01.2012 в 07:08)   письмо автору
 
   для: ladan   (26.01.2012 в 00:23)
 

>а у меня все документы в Windows-1251 переделаны... с такой кодировкой нельзя будет
>добиться русских ссылок? :)
Лучше сначала добейтесь их utf-8, чтобы у вас был работающий мини-проект, потом можно будет поиграться с кодировкой Windows-1251, но шансы не велики, скорее всего придется все-таки использовать utf-8.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования