Вы не зашли.
Страницы 1
.htacess
RewriteRule ^list/([0-9A-Za-zА-Яа-я_-]+) /index.php?i=list&word=$1 [L,QSA]
в пхп
$word=urldecode($_REQUEST['word']);
в урл localhost/list/ф
делаю echo($word) получаю чёрти-што , по сабжу возможно ли получить нормальный кирилический символ в скрипте который был в запросе в урл или нет?
отказаться от кирилицы физически не реально, либо как нить построить регулярное выражение, но $_SERVER['REQUES_URI'] выдаёт нормальный кирилический символ, может пробывать брать оттуда значение, но моя больная проблема это регулярные ) за 4 часа секса с ними так и не составил нужное выражение (
собстно кто решал эту проблему и как её решить?
Изменено bestxp (2009-03-20 23:18:38)
senior php and js developer
Не в сети
bestxp, отказаться от кириллических символов придётся - они не предусмотрены форматом, в URL'е не могут быть символы с кодом выше 127 (вся кириллица).
Единственный вариант, который частично тебе поможет - конвертить русские буквы в UTF-8 и их уже кодировать в формат %код, к примеру %AA%AB.
Как минимум FireFox этот формат корректно разбирает и в строке "адрес" вместо этой абракадабры будет показывать русские буквы.
Но передавать на WEB сервер всё-равно будет именно абаракадабру.
Не в сети
тогда придеться копать в сторону preg_match что бы получить русский символ)
решил траблу так
preg_match('#^\/list\/([0-9A-Za-zАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЭЮЯабвгдеёжзийклмнопрстуфхцчшщэюя_-]+)\/{0,1}$#',urldecode($_SERVER['REQUEST_URI']),$words);
патерн почему длинный? потому что в УТФ-8 не все символы входят в диапозон А-Я
и в итоге получаю буковку которая мне нужна была, и без всяких перекодирований, как выше говорил Виталий
Изменено bestxp (2009-03-21 10:47:15)
senior php and js developer
Не в сети
а потом еще и оставил одну буковку от запроса)
$word=iconv('utf-8','windows-1251',$words[1]);
$word=mb_strcut($word, 0, 1);
$word=iconv('windows-1251','utf-8',$word);
ибо у меня всё в утф) а пока нету полной поддержки в php приходиться так изощраться) ^_^ , жду 6 вер)
senior php and js developer
Не в сети
Страницы 1