Vous n'êtes pas identifié(e).
Pages :: 1
J’utilise le code suivant pour ecrire dans un fichier rtf (contenant du français et de l’arabe) des variables php (wampserver php version 5.03.10) contenant des chaines de caractères en arabe
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
$myContent = file_get_contents("modele.rtf" );
//$myContent = str_replace("@nom@",html_entity_decode($nom),$myContent);
//$nom = utf8_encode($nom);
//$nom = base64_encode($nom);
$nom = htmlspecialchars($nom) ;
//$myContent = str_replace("@nom@",$nom,$myContent);
$myContent =mb_ereg_replace("@nom@",$nom,$myContent);
$newFileHandler = fopen("../impression/".$nf.".rtf","a" );
fwrite($newFileHandler,$myContent);
fclose($newFileHandler);
Lors de l’ouverture du fichier les caractères arabe ne s’affiche pas (بسام ) ou (ميعاوي) ou ( ????????)
En éditant manuellement le fichier résultat $nf.RTF j’ai remarqué que la chaine بسام s’écrit \'c8\'d3\'c7\'e3 (c'est quoi d’ailleurs comme codage ?)
je récupère la chaine بسام d'un formulaire ($_POST). encodé en utf-8 (j'ai vérifié avec mb_detect_encoding) ... ..l'enregistrement au niveau de la base de données ne pose pas de problème, mon problème vient du fichier RTF ma fonction écrit ceci sur le fichier:
{\rtlch\fcs1 \ab\af42\alang7169 \ltrch\fcs0 \b\f42\fs24\insrsid11479835\charrsid13048379 بسام} => affichage ميعاوي
alors que, il faut aboutir à ce résultat :
{\rtlch\fcs1 \ab\af42\alang7169 \ltrch\fcs0 \b\f42\fs24\insrsid11479835\charrsid13048379 \'C8\'D3\'C7\'E3}
J'ai trouvé la fonction suivante
mais au lieu de c8d3c7e3 j'obtiens d8a8d8b3d8a7d985 !!
comment passer de بسام à \'C8\'D3\'C7\'E3 ???
y'a t'il un moyen plus simple de fixer l'encodage à UTF-8 directement au niveau du fichier RTF(ou doc) ?
merci de m'aider.
Hors ligne
Pages :: 1