bonjour,
Votre solution n'est pas bon en général. Pourquoi? C'est travailler avec les lettres avec le code ASCII sous 256 (convertis et affichés bien), mais les lettres avec le code ASCII de plus de 256 que j'ai "?" signes.
Nous avons donc besoin de combiner nos deux solutions en une seule 
Par exemple:
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;
}
cette ligne: définir que les lettres avec le code ASCII sous 256 ne sera pas décodé par ma fonction, mais seulement par Je suis le tester still.I ne suis pas entièrement sûr que tout fonctionne correctement maintenant.
Vous pouvez le tester aussi!