работа с функциями rawurlencode() & urlencode()

Nick88Hello

Новичок
Требуется в ссылке передать кириллические символы , которые кодируются в нечто подобное :

Образец :
http://rozetka.com.ua/search/?section=/&text=фотоаппарат
где : "%2F" = "/" , а "%D1%84%D0%BE%D1%82%D0%BE%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82" = "фотоаппарат"

для этого применил функции rawurlencode() & urlencode() , но полученные строки не совпадают с образцом . В чем может быть проблема ?
Если использовать он-лайн сервисы вроде : http://www.url-encode-decode.com/ то там полученные строки совпадают ...

Свой скрипт уже сохранял и в utf-8 windows-1251 ,но толку никакого....
 

radioheaded

PHP нуб
Так приведите пример того, что хотите получить и что получаете. А то гадать по кофейной гуще в четный день — грех.

У меня urlencode возвращает описанные вами образцы.
 

fixxxer

К.О.
Партнер клуба
Требуется в ссылке передать кириллические символы , которые кодируются в нечто подобное :

Образец :
http://rozetka.com.ua/search/?section=/&text=фотоаппарат
где : "%2F" = "/" , а "%D1%84%D0%BE%D1%82%D0%BE%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82" = "фотоаппарат"
~$ php -r 'print_r(urlencode("фотоаппарат"));'
%D1%84%D0%BE%D1%82%D0%BE%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82

всё совпадает

утф-8 разумеется, в другой кодировке приличные люди не работают
 

Nick88Hello

Новичок
Я разобрался , оказывается функция http_build_query тоже декодирует кир. символы , а я загонял в массив $get не
'text' =>'фотоаппарат'
, а
'text' =>urlencode('фотоаппарат'),
и получалось , что слово кодировалось 2 раза .Теперь у меня такой код :

PHP:
$url = "http://rozetka.com.ua/search/";
$get = array(
               'p' =>'o',
	'section' =>'/',
	'text' =>'фотоаппарат',
	);
echo CreateLink($url,$get);
function CreateLink($url,$get)
	{
		$url .= "?";
		$url .= http_build_query($get);
		return $url;
	}
И на выходе откуда-то берется этот символ :
вместо слова "section"

rozetka.com.ua/search/?p=0§ion=%2F&text=%D1%84%D0%BE%D1%82%D0%BE%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82
 
Сверху