hallo,
Ihre Lösung ist nicht gut, in der Regel. Warum? Dies ist mit den Buchstaben mit dem ASCII-Code arbeiten unter 256 (umgerechnet und gut), aber Briefe mit ASCII-Code über 256 habe ich "?" Zeichen.
Also müssen wir unsere zwei Lösungen in einem zu kombinieren ![Wink](images/smilies/wink.png)
Beispiel:
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;
}
diese Zeile: definieren als Buchstaben mit dem ASCII-Code unter 256 wird nicht durch meine Funktion, sondern nur durch decodiert werden Ich teste es still.I bin nicht ganz sicher, dass alles richtig funktioniert jetzt.
Sie können es zu testen!