Декодировать кирилический URL

CyberX
На сайте с 08.03.2008
Offline
51
1305

Подскажите как сделать средствами PHP ?

Или что почитать, ничего толкового найти не могу.

Шустрый хостинг (http://www.colocat.ru) за нормальные деньги (Москва). 30 дней тестовый период. Рекомендую копирайтера aronskaya (/ru/users/73753). Отличные авторские тексты.
malls
На сайте с 08.08.2005
Offline
255
#1

rawurldecode() или я не понял?

CyberX
На сайте с 08.03.2008
Offline
51
#2

malls, :) Херня РІС‹С?ла (Херня вышла)

Нужно раскодировать кириллицу.

К примеру:

Монитор

%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80

Нужно из кракозябры монитор обратно получить :)

C
На сайте с 28.08.2007
Offline
68
#3

сначала urldecode()

потом iconv() если кодировка не устроит.

ClickFrog.ru - система защиты от скликивания контекстной рекламы (http://clickfrog.ru/?page=registration&referrer_id=708)
[Удален]
#4
malls:
rawurldecode() или я не понял?

Этого мало. Часть браузеров отправляет в юникоде, часть в винкириллице.

Выдергиваем текст поискового запроса из документ-реферер? ;)

У себя сделал так:

				$http_referer_string = substr(stristr($_SERVER['HTTP_REFERER'],"?"),1);


// Пробуем руссифицировать
$http_referer_string = str_replace("%E2%80%9D",""",$http_referer_string);
$http_referer_string = str_replace("%E2%84%96","№",$http_referer_string);
$http_referer_string = rawurldecode($http_referer_string); // Пробуем руссифицировать поисковый запрос:
// Функцию перекодирования UTF8=>1251 стырил где-то
$out="";
$c1="";
$byte2=false;
for ($c=0;$c<strlen($http_referer_string);$c++)
{
$i=ord($http_referer_string[$c]);
if ($i<=127) $out.=$http_referer_string[$c];
if ($byte2)
{
$new_c2=($c1&3)*64+($i&63);
$new_c1=($c1>>2)&5;
$new_i=$new_c1*256+$new_c2;
if ($new_i==1025)
{
$out_i=168;
}
else
{
if($new_i==1105)$out_i=184;
else $out_i=$new_i-848;
}
$out.=chr($out_i);
$byte2=false;
}
if (($i>>5)==6)
{
$c1=$i;
$byte2=true;
}
}
$http_referer_string = str_replace("+"," ",$out);
HraKK
На сайте с 02.03.2009
Offline
128
#5

catprog, не пиши чушь.

вообще-то urldecode :)

HraKK добавил 22.04.2009 в 01:48

mrFatCat:
часть в винкириллице

Какие?

10 букаф

я гарант (/ru/forum/493343) уже не оказываю данные услуги, извините.
C
На сайте с 28.08.2007
Offline
68
#6
HraKK:
catprog, не пиши чушь.
вообще-то urldecode :)

бес попутал, я уже исправился.

dkameleon
На сайте с 09.12.2005
Offline
386
#7
mrFatCat:
Этого мало. Часть браузеров отправляет в юникоде, часть в винкириллице.

Все современные броузеры отправляют в той кодировке, в которой нужно.

и если в кириличной странице будет ЮТФ урл - то уйдёт ЮТФ.

CyberX:
malls, Херня РІС‹С?ла (Херня вышла)

Эта хреня называется ЮТФ

CyberX:

%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80
Нужно из кракозябры монитор обратно получить

Типичный ЮТФ в урлэнкоде.

Дизайн интерьера (http://balabukha.com/)
CyberX
На сайте с 08.03.2008
Offline
51
#8

dkameleon, :)

dkameleon:
Эта хреня называется ЮТФ

Походу пора спать :)

Всем спасибо, проблема решена.

malls
На сайте с 08.08.2005
Offline
255
#9
dkameleon:

CyberX:
malls, :) Херня РІС‹С?ла (Херня вышла)

Эта хреня называется ЮТФ

и кстати совсем она и не херня! 😂😂😂

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий