Conversion des caractères spéciaux en utf-8 pour export dans word ou excel

Soyez le premier à donner votre avis sur cette source.

Snippet vu 43 103 fois - Téléchargée 28 fois

Contenu du snippet

Quand on exporte du texte dans excel ou word (fichiers .csv renommés en .xls, fichiers .txt renommés en .doc ...), les caractères spéciaux sont remplacés par d'autres caractères et rendent le texte illisible.
Le charset n'est malheureusement pas modifiable :(
Cette fonction permet donc de rétablir la plupart des caractères spéciaux connus.

Source / Exemple :


$replace = array(
 "Å " => "?", "Å¡" => "?", "Å'" => "?", "Å"" => "?",
 "Ÿ" => "?", "ÿ" => "ÿ", "Ã?" => "À", "à " => "à", 
 "Á" => "Á", "á" => "á", "Ã?" => "Â", "â" => "â",
 "Ã?" => "Ã", "ã" => "ã", "Ã?" => "Ä", "ä" => "ä", 
 "Ã?" => "Å", "Ã¥" => "å", "Ã?" => "Æ", "æ" => "æ",
 "Ã?" => "Ç", "ç" => "ç", "Ã?" => "È", "è" => "è", 
 "Ã?" => "É", "é" => "é", "Ã?" => "Ê", "ê" => "ê",
 "Ã?" => "Ë", "ë" => "ë", "Ã?" => "Ì", "ì" => "ì", 
 "Í" => "Í", "í" => "í", "Ã?" => "Î", "î" => "î",
 "Ï" => "Ï", "ï" => "ï", "Ð" => "Ð", "ð" => "ð", 
 "Ã'" => "Ñ", "ñ" => "ñ", "Ã'" => "Ò", "ò" => "ò",
 "Ã"" => "Ó", "ó" => "ó", "Ã"" => "Ô", "ô" => "ô", 
 "Ã?" => "Õ", "õ" => "õ", "Ã?" => "Ö", "Ã?" => "Ø",
 "ø" => "ø", "Ã?" => "Ù", "ù" => "ù", "Ã?" => "Ú", 
 "ú" => "ú", "Ã?" => "Û", "û" => "û", "Ã?" => "Ü",
 "ü" => "ü", "Ý" => "Ý", "ý" => "ý", "Ã?" => "Þ", 
 "þ" => "þ", "Ã?" => "ß", "ö" => "ö"
);
function changeAccented($text) {
 global $replace;
 foreach($replace as $key => $val)
  $text = str_replace($key, $val, $text);
 return $text;
}

A voir également

Ajouter un commentaire

Commentaires

Utilisateur anonyme -
PHP le fait déjà. Non ?
utf8_encode() et utf8_decode()
doc php -->
"utf8_encode code la chaîne data au format UTF-8 , et retourne la version codée."
"utf8_decode décode la chaîne data , en supposant qu'elle est au format UTF-8 , et la convertit au format ISO-8859-1."
Très utile pour utiliser PHP avec Flash...

C'est pas plus simple ?
strapouf
Messages postés
9
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
16 septembre 2005
-
Si c'est plus simple, lol. Moi je m'en sert pour envoyer des données dans flash ça marche impeccable.
cs_AnDong
Messages postés
1
Date d'inscription
mardi 14 septembre 2004
Statut
Membre
Dernière intervention
3 avril 2007
-
Bonjour,
C'est bien beau tout ça mais quand on veut exporter des caractères chinois (codés en utf-8) vers excel on fait comment ?
Je cherche mais ne trouve rien. Vous avez des idées ?
Merci !
Andong

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.