Forum Programmation.php Générer du XML au format UTF-8 avec PHP

Posté par  .
Étiquettes : aucune
0
25
mai
2005
Bonjour à tous,

premier post dans ce forum alors je vais essayer de faire une bonne impression.

Voilà mon problème, je dois générer un fichier XML au format UTF-8 pour un Flash.
Le problème, je n'arrive pas à le mettre au format UTF-8...
voilà mon code:
Pour les methodes, il n'y a qu'a se fier au nom, je pense qu'elles sont suffisament explicites...


header('Content-Type: text/xml; charset=utf-8');
require_once("include/global.php");
$CliIdx = $_GET["CliIdx"];

$db = new Mysql_sql();
$db->query("SET CHARACTER SET utf8");
$reqClient = "SELECT * FROM Client WHERE CliIdx={$CliIdx} LIMIT 1";
$resClient = $db->query($reqClient);
$data =$db->next_record($resClient);
$output = "";
$output = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
$output .= "\n";
$output .= "".$data->CliNom."\n";
$output .= "".TransformDate($data->CliDateRea)."\n";
$output .= "".txtToHtmlarea($data->CliCommentaire)."</commentaire>\n";
$output .= "".$data->CliVignette."\n";
$output .= "".$data->CliImage1."\n";
$output .= "".$data->CliImage2."\n";
$output .= "".$data->CliImage1."\n";
$output.="\n";
$output = utf8_encode($output);
echo $output;

A savoir aussi que ma base est une Base Mysql en utf8_bin ansi que les tables...

Tous coup de main est le bienvenu. Merci d'avance.
  • # Double encodage

    Posté par  . Évalué à 2.

    utf8_encode
    Encodes an ISO-8859-1 string to UTF-8 (PHP 3>= 3.0.6, PHP 4 , PHP 5)

    donc il faut que ta chaine de caractère à encoder soit de l'iso-8859-1. Or ce qui sort de ta base c'est de l'utf8. Donc tu fais de la conversion iso8859-1 vers utf-8 sur une chaine utf-8 => ca marche pas.

    Tu as donc deux solutions :
    - soit tu fais de l'utf8_encode seulement sur les parties texte de ton code. Et dans ce cas là la chaine résultant code+db sera de l'utf-8
    - soit tu encode tout ton fichier en utf-8 et tu as plus besoin de faire un utf8_encode.
    • [^] # Re: Double encodage

      Posté par  . Évalué à 1.

      Salut merci pour ton aide,

      est ce que tu pourrais me dire comment je pourrais encoder tout le document en UTF-8.
      Parce que j'ai essayé la preière solution que tu m'as donnée, mais hélas elle ne m'a pas donnée satisfaction...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.