PHP trouver un moyen de gérer les caractères accentués !

Bonsoir,

je rencontre le problème suivant :
=> le fichier d’export du carnet d’adresses de thunderbird se fait au format ASCII, de fait les caractères accentuées que notre belle langue peut comporter, se retrouvent “encoder” de telle manières :

  • ‘é’ en ‘=C3=A9’,
  • ‘è’ en ‘=C3=A8’,
  • ‘ç’ en ‘=C3=A7’,

etc…

J’ai bien essayer ce genre de code PHP, mais cela reste à l’identique :

$fgc = file_get_contents($file_tmp);
$encode = mb_detect_encoding($fgc);
(...)
# la variable value est obtenu par une boucle foreach sur le contenu ;)
switch($encode) {
             case 'ASCII': $value = utf8_encode($value); break;
             default:
                             $value = mb_convert_encoding($value, 'UTF-8', $encode);
 }

Une idée pour ré-encoder ce fichu encodage ?!

J’ai pas la solution à ce que tu demande, vue que je suis pus qu’une quiche en PHP, mais il me semblé que l’export via thunderbird pouvais se faire en csv et même en vcf.

Ps après vérification il est possible même de choisir le csv au format UTF8 :wink:

=> vcf, c’est le format vcard… et je vais même te dire qu’il est au format obsolète, 2.1… en plus de faire un export ASCII.

=> Je vais voir à travailler avec le format csv… ce que je ne voulais pas faire !
(si vraiment je ne trouve pas d’autre solution… pfff, j’avoue que ça me lourde - je commence à comprendre pourquoi personne ne s’y est collé !)

En fait, je viens de trouver !!!

C’est le format “QUOTE PRINTABLE”… et donc faire joujou avec les fonctions PHP quote_printable_encode() ou l’inverse !

1 J'aime