Кодировки, Перекодирование

Мутник

Новичок
Кодировки, Перекодирование

как вот из такой штуки получить что то цивильное?

PHP:
ç
Полагаю, что это код символа в таблице utf-8
 

SiMM

Новичок
Аналогично, только не забывая о том, что число представлено в шестнадцатеричном коде, а не в десятичном.
 

Мутник

Новичок
PHP:
function Unicode2Charset($str,$charset = 'UTF-8'){ // by SiMM 
  return preg_replace('~&#x(0-9a-fA-F+);~se','iconv("UTF-16LE",$charset,pack("v",ручвус($1)))',$str); 
} 

echo Unicode2Charset('ç');
хмм...
 

SiMM

Новичок
Мутник, выброси свой punto switcher (или чего там у тебя?) ;)
PHP:
function UnicodeX2Charset($str,$charset = 'Windows-1251'){ // by SiMM
  return preg_replace('~&#x([0-9A-F]+);~sei','iconv("UTF-16LE",$charset,pack("v",hexdec("$1")))',$str);
}
echo UnicodeX2Charset('ç','UTF-8');
Подход конечно не правильный - по уму надо написать нормальную функцию, чтобы и в десятичной, и в шестнадцатеричной понимала - но мне что-то лениво ;)
 

Мутник

Новичок
SiMM

да блин, я то же самое сделал.. тока забыл в преге про квадратные скобки... ;) все, работает... Спасибо.

P.S. как ни странно, Copy-Pastingom даже не занимался и прекрасно поинмаю, что и как тут работает. Просто немного попутал ;)
 
Сверху