ссылки с русскими буквами и PHP/JAVASCRIPT

crimsontwo

Новичок
ссылки с русскими буквами и PHP/JAVASCRIPT

проблема такая: http://tmd.df.ru/test

в FireFox ссылки работают без проблем. в IE - русская ссылка не открывается.

эту проблему я решил с помощью rawurlencode().

НО.. беда в том, что rawurlencode ссылка не открывается в java скрипте под IE. Firefox пашет как танк.

кто может помочь? заранее спасибо!

P.S. проблема НЕ в конфигурации сервера и НЕ в том, что я не указываю кодировку в HTML :)

-~{}~ 06.02.06 22:02:

нашел способ. понял, что это не работает только на *nix/linux серверах.

сделал function на PHP:

function rus2html( $string )
{
$string = str_replace ( 'а', '%E0', $string );
$string = str_replace ( 'б', '%E1', $string );
$string = str_replace ( 'в', '%E2', $string );
$string = str_replace ( 'г', '%E3', $string );
$string = str_replace ( 'д', '%E4', $string );
$string = str_replace ( 'е', '%E5', $string );
$string = str_replace ( 'ж', '%E6', $string );
$string = str_replace ( 'з', '%E7', $string );
$string = str_replace ( 'и', '%E8', $string );
$string = str_replace ( 'й', '%E9', $string );
$string = str_replace ( 'к', '%EA', $string );
$string = str_replace ( 'л', '%EB', $string );
$string = str_replace ( 'м', '%EC', $string );
$string = str_replace ( 'н', '%ED', $string );
$string = str_replace ( 'о', '%EE', $string );
$string = str_replace ( 'п', '%EF', $string );
$string = str_replace ( 'р', '%F0', $string );
$string = str_replace ( 'с', '%F1', $string );
$string = str_replace ( 'т', '%F2', $string );
$string = str_replace ( 'у', '%F3', $string );
$string = str_replace ( 'ф', '%F4', $string );
$string = str_replace ( 'х', '%F5', $string );
$string = str_replace ( 'ц', '%F6', $string );
$string = str_replace ( 'ч', '%F7', $string );
$string = str_replace ( 'ш', '%F8', $string );
$string = str_replace ( 'щ', '%F9', $string );
$string = str_replace ( 'ъ', '%FA', $string );
$string = str_replace ( 'ы', '%FB', $string );
$string = str_replace ( 'ь', '%FC', $string );
$string = str_replace ( 'э', '%FD', $string );
$string = str_replace ( 'ю', '%FE', $string );
$string = str_replace ( 'я', '%FF', $string );
$string = str_replace ( 'А', '%C0', $string );
$string = str_replace ( 'Б', '%C1', $string );
$string = str_replace ( 'В', '%C2', $string );
$string = str_replace ( 'Г', '%C3', $string );
$string = str_replace ( 'Д', '%C4', $string );
$string = str_replace ( 'Е', '%C5', $string );
$string = str_replace ( 'Ж', '%C6', $string );
$string = str_replace ( 'З', '%C7', $string );
$string = str_replace ( 'И', '%C8', $string );
$string = str_replace ( 'Й', '%C9', $string );
$string = str_replace ( 'К', '%CA', $string );
$string = str_replace ( 'Л', '%CB', $string );
$string = str_replace ( 'М', '%CC', $string );
$string = str_replace ( 'Н', '%CD', $string );
$string = str_replace ( 'О', '%CE', $string );
$string = str_replace ( 'П', '%CF', $string );
$string = str_replace ( 'Р', '%D0', $string );
$string = str_replace ( 'С', '%D1', $string );
$string = str_replace ( 'Т', '%D2', $string );
$string = str_replace ( 'У', '%D3', $string );
$string = str_replace ( 'Ф', '%D4', $string );
$string = str_replace ( 'Х', '%D5', $string );
$string = str_replace ( 'Ц', '%D6', $string );
$string = str_replace ( 'Ч', '%D7', $string );
$string = str_replace ( 'Ш', '%D8', $string );
$string = str_replace ( 'Щ', '%D9', $string );
$string = str_replace ( 'Ъ', '%DA', $string );
$string = str_replace ( 'Ъ', '%DB', $string );
$string = str_replace ( 'Ь', '%DC', $string );
$string = str_replace ( 'Э', '%DD', $string );
$string = str_replace ( 'Ю', '%DE', $string );
$string = str_replace ( 'Я', '%DF', $string );
return $string;
}

теперь ссылки открываются прекрасно в любом браузере. ну, а в javascript добавил escape() функцию.
 

Profic

just Profic (PHP5 BetaTeam)
Мамадарагая. Как минимум [m]strtr[/m](). Как максимум, то же самое делает [m]urlencode[/m]().
 

crimsontwo

Новичок
urlencode это не делал. как и rawurlencode.

смотри пост. я скрипт там не менял.
 
Сверху