che sto cercando di fare la sostituzione carattere accentato in PHP, ma ottenere risultati funky, la mia ipotesi che sono perché sto utilizzando uno stringa UTF-8 e str_replace non riesco a gestire correttamente le stringhe multi-byte ..PHP Multi Byte str_replace?
$accents_search = array('á','à','â','ã','ª','ä','å','Á','À','Â','Ã','Ä','é','è',
'ê','ë','É','È','Ê','Ë','í','ì','î','ï','Í','Ì','Î','Ï','œ','ò','ó','ô','õ','º','ø',
'Ø','Ó','Ò','Ô','Õ','ú','ù','û','Ú','Ù','Û','ç','Ç','Ñ','ñ');
$accents_replace = array('a','a','a','a','a','a','a','A','A','A','A','A','e','e',
'e','e','E','E','E','E','i','i','i','i','I','I','I','I','oe','o','o','o','o','o','o',
'O','O','O','O','O','u','u','u','U','U','U','c','C','N','n');
$str = str_replace($accents_search, $accents_replace, $str);
risultati che ottengo:
Ørjan Nilsen -> �orjan Nilsen
Risultato previsto:
Ørjan Nilsen -> Orjan Nilsen
Edit: ho ottenuto il mio gestore di carattere interno impostato su UTF-8 (secondo mb_interna l_encoding()), anche il valore di $ str è UTF-8, quindi da quello che posso dire, tutte le stringhe coinvolte sono UTF-8. Str_replace() rileva i set di caratteri e li usa correttamente?
Controlla la mia risposta qui: [Correggi i caratteri in PHP] (http://stackoverflow.com/a/9499771/318380). Questo mi ha aiutato molto !!! – jazkat