hello,
A megoldás nem jó általában. Miért? Ez dolgozik betűk ASCII kódot 256 (átalakított, és megjelenik jó), de betűk ASCII kóddal több mint 256 van "?" jeleket.
Így kell kombinálni a két megoldás egy 
Például:
PHP Code:
function vbet_encodeToSafeUTF8(&$string) {
$string = preg_replace('/([\340-\357])([\200-\277])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-224)*4096 + (ord(\'\\2\')-128)*64 + (ord(\'\\3\')-128)).\';\'',
$string);
//decode two byte unicode characters
$string = preg_replace('/([\304-\337])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-192)*64+(ord(\'\\2\')-128)).\';\'',
$string);
$string = utf8_decode($string);
return $string;
}
ezt a sort: határozza meg, mint a betűk ASCII kódot 256 nem lesz dekódolni a saját funkciója, de csak Én tesztelés still.I nem vagyok teljesen biztos benne, hogy minden megfelelően működik most.
Tudod teszt is!