|
|
|
| Здравствуйте коллеги. Меня интересует вопрос следующего характера: "URL с кириллицей, например как в знаменитой Википедии (российской ее части) возможен? Какие трудности и проблемы могут возникнуть с подобным URL?" Дело в том что мне заказали рестайлинг сайта [url]<a href="http://www.scansorium.com/">Лифт</a>[/url], который в настоящее время URL имеет чисто английский. Заранее благодарю за ответы. С уважением Кузнецов К. В. | |
|
|
|
|
|
|
|
для: Константин К В
(17.06.2008 в 20:28)
| | Для этого нужно применять URL-кодирование:
<?php
echo '<a href="http://example.com/' . rawurlencode('Страница') . '">http://example.com/Страница</a>'; # UTF-8
?>
|
Заметьте, что желательно использовать UTF-8, т.к. обычно при вводе в адресную строку "левых" символов (той же кириллицы), браузер переводит эти символы в UTF-8 и URL-кодирует.
Либо можно сделать что-то вроде
<?php
function enc_str($s, $in = 'windows-1251', $out = 'utf-8')
{
return rawurlencode(iconv($in, $out, $s));
}
echo '<a href="http://example.com/' . enc_str('Страница') . '">http://example.com/Страница</a>'; # windows-1251
?>
|
P.S. Заметьте, что нужно именно rawurlencode(), т.к. urlencode() преобразует символ пробела в "+", что допустимо, насколько я знаю, только в значении параметра из QUERY_STRING. | |
|
|
|