Bonjour,
Je cherche à faire une galerie de photos flash avec un commentaire pour chacune pour un site français / chinois. Pour le français, no pb, ça fonctionne, mais pour le chinois c'est une autre affaire. Les caractères de la zone de texte dynamique n'apparaîssent pas et sont remplacés par des carrés. Pourtant, la police que j'utilise est "Verdana", les caractères chinois existent donc, j'ai même essayé dans la police "_sans", mais sans succès.
Mon flash appelle un fichier PHP qui va prendre les images et textes associés de la base de données selon la langue choisie, et renvoie une architecture XML (plus facile à gérer avec Flash par la suite).
Il doit y avoir un problème d'encodage, ou je ne sais quoi. Voici mon code PHP qui génère l'XML :
Code :
- <?php
- session_start();
- require_once("include/connexion.php" );
- require_once("include/fonctions.php" );
- // $type est une variable permettant de définir quel type de photos est à sélectionner (par ex : photos de villes, paysages, ...)
- $type = $_REQUEST['type'];
- // $_SESSION['lang'] vaut soit "fr" soit "cn"
- $q = "SELECT photo_small, texte_" . $_SESSION['lang'] . " AS texte FROM photo_flash WHERE type = '$type' AND texte_" . $_SESSION['lang'] . " != ''";
- $res = mysql_query($q, $GLOBALS['connexion']);
- // Type d'encodage de caractères selon la langue
- if($_SESSION['lang'] == "cn" )
- echo utf8_encode("<?xml version=\"1.0\" encoding=\"gb2312\" ?>" );
- else
- echo utf8_encode("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" );
- ?>
- <diaporama>
- <?php
- while($l = mysql_fetch_array($res)) {
- echo "\t<image url=\"images_flash/" . $l['photo_small'] . "\" texte=\"" . decode_url($l['texte']) . "\" />\n";
- }
- ?>
- </diaporama>
|
Je pense que le problème vient de mon code PHP, au niveau de l'encodage ...
Quelqu'un a une idée ?
Merci d'avance !
Message édité par fabowl le 27-10-2005 à 10:37:17