$str = '%u0421%u0430%u043C%u0430%u0440%u0435';
$str2 = preg_replace ('~%u([0-9A-F]{2})([0-9A-F]{2})~ie', 'chr (dechex ("\1")) . chr (dechex ("\2"))', $str);
echo iconv ('UCS-2', 'UTF-8', $str2);

Обычный GET запрос, например из поисковой формы, передаваемый в уникоде. wap поиск на русском - самый обычный пример.Автор оригинала: Net Dog
А где ты эту строку то выкопал?
Хм, у меня иконв результаты этого пример превращает в пустые строки. Перекодирование в UTF-8 дайт кракозябли...Автор оригинала: Bloody
Все, люди - вот это заработало:
$string='%u0421%u0430%u043C%u0430%u0440%u0435';
$str2=preg_replace("/%u([0-9A-Z][0-9A-Z])([0-9A-Z][0-9A-Z])/ie","chr(hexdec('\\1')).chr(hexdec('\\2'))",$string);
echo iconv("UCS-2","WINDOWS-1251",$str2);
Искомая строка: "Самаре"
значит где-то фраузер перекодирует не туда или кто-то ещеХм, у меня иконв результаты этого пример превращает в пустые строки. Перекодирование в UTF-8 дайт кракозябли...
error_reporting (E_ALL);
$str = '%u0421%u0430%u043C%u0430%u0440%u0435';
$str2 = preg_replace ('~%u([\dA-F]{2})([\dA-F]{2})~ie', 'chr (hexdec ("\1")) . chr (hexdec ("\2"))', $str);
echo iconv ('UCS-2', 'WINDOWS-1251', $str2);
) ).. а оказалось, что форма записи в БД(поста топика) просто была в кодировке iso
) я 4ре дня бился, пока вдруг не пришло озарение... только одного понять немогу.. почему буг появлялся только при включенном gzip'е ?