Из любой кодировки в cp-1251?

FleX

Guest
Из любой кодировки в cp-1251?

Надо так сделать чтобы любая кодировка (заранее неизвестно какая) конвертилась в cp-1251.
НАдо использовать Multi-Byte String Functions.
Только вот как не знаю.
Кто-нить сталкивался?
 

FleX

Guest
Поискал - куча всего там.
перепробовал достаточно, но не получилось ничего.
Нет у меня знаний в этой области.

Из обычной строки на русском( из wap-эмулятора) получал
то %u0418%u0433%u043E%u0440%u044C,
то ИИггоо&. Да и вообще куча ерудны
всякой типа റCള8ഴ0ളEളDള5ളDളAളE

А надо чтобы любая инфа, полученная от мобилы по вапу нормально кодировалась в кириллицу.
Мне крышка...
 

Кром

Новичок
>%u0418%u0433%u043E%u0440%u044C,
Это unicode (скаже так, псевдо-unicode), функция для приведения к win-1251:
PHP:
function convert($text)
{	
	return iconv("UCS-2","windows-1251",preg_replace("/%u([0-9A-Z][0-9A-Z])([0-9A-Z][0-9A-Z])/ie","chr(hexdec('\\1')).chr(hexdec('\\2'))",$text));
}
Что касается остального, неизвестно, осмысленная ли это информация вообще.
Стоит изучить заголовки, которые шлет телефон. По ним можно узнать много полезной информации и отталкиваться уже от этого.
 

Demiurg

Guest
Да все очень просто. Надо сделать искуственный интелект, и все.

FleX, в общем случае это не возможно.
 

FleX

Guest
Originally posted by Кром
>%u0418%u0433%u043E%u0440%u044C,
Это unicode (скаже так, псевдо-unicode), функция для приведения к win-1251:
PHP:
function convert($text)
{	
	return iconv("UCS-2","windows-1251",preg_replace("/%u([0-9A-Z][0-9A-Z])([0-9A-Z][0-9A-Z])/ie","chr(hexdec('\\1')).chr(hexdec('\\2'))",$text));
}
Спасибо, дружище выручил!
Но почему-то не хочет функция работать со строкой с пробелами. Т.е. если в строке несколько слов, то она правильно возвращает только первое слово строки(до первого попавшегося пробела), остальное пропадает куда-то.
 
Сверху