Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1515 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  caractères spéciaux : extraction de base de données pour XML

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

caractères spéciaux : extraction de base de données pour XML

n°1575109
freed102
Arayashiki
Posté le 14-06-2007 à 18:20:53  profilanswer
 

Bonjour à tous,
 
J'ai souvent rencontré ce genre de problème, je dois extraire des données avec un script php pour générer un XML qui sera interprété par Flash... Le problème c'est que des fois c'est pire que le téléphone arabe ! mais je pense que ça vient de l'encodage xml
 
voici un bout de code :
 
 

Code :
  1. echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?> ";
  2. $query_sz="select * from ewb_zone where zo_recipient_id=$page_int and zo_position=1";
  3. $hcur_re = sql_query( $DBtype_sz, $query_sz, $connect_re );
  4. $row_tab=sql_fetch_array( $DBtype_sz, $hcur_re );
  5. $zo_id=$row_tab['zo_id'];
  6. $query_sz="select * from ewb_bloc where bl_zone_id=$zo_id and bl_modele_id=$bl_modele_id";
  7. $hcur_re = sql_query( $DBtype_sz, $query_sz, $connect_re );
  8. $row_tab=sql_fetch_array( $DBtype_sz, $hcur_re );
  9. ?>
  10. <content>
  11. <texte>
  12. <![CDATA[<?=utf8_encode(magic_gpc_stripslashes($row_tab['bl_texte1']))?>]]>
  13. </texte>
  14. </content>


 
 
tout se passe très bien jusqu'à l'utilisation de caractères "très" spéciaux ... genre le mot "œuvre" devient "œuvre " ... que faire ???
 
MErci d'avance
 
FReed

mood
Publicité
Posté le 14-06-2007 à 18:20:53  profilanswer
 

n°1575369
AlphaZone
Posté le 15-06-2007 à 10:50:43  profilanswer
 

et au lieu de mettre encoding="utf-8", si tu mets "iso-8859-1", y s'passe quoi ??


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
n°1575375
freed102
Arayashiki
Posté le 15-06-2007 à 10:54:02  profilanswer
 

niveau XML c pareil.. mais niveau flash j'ai plus mes accents

n°1575391
freed102
Arayashiki
Posté le 15-06-2007 à 11:08:13  profilanswer
 

j'ai essayé ça :  

Code :
  1. <texte>
  2. <![CDATA[<?=utf8_encode(magic_gpc_stripslashes(nl2br(htmlspecialchars(str_replace("<br />","\n",$row_tab['bl_texte1'])))))?>]]>
  3. </texte>


 
là tout s'affiche normalement sauf mes caractères "très" spéciaux, donc... même problème


Message édité par freed102 le 15-06-2007 à 11:08:44
n°1575407
AlphaZone
Posté le 15-06-2007 à 11:31:26  profilanswer
 

et si tu vire le utf8-encode ?


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
n°1575425
freed102
Arayashiki
Posté le 15-06-2007 à 11:52:40  profilanswer
 

j'ai essayé aussi... j'ai plus mes accents dans mon flash

n°1575689
freed102
Arayashiki
Posté le 15-06-2007 à 17:50:32  profilanswer
 

allénouilla ! j'ai trouvé une solution !!
 
sur flash, on met en haut de la page :
 
System.useCodepage = true;
 
 
et en PHP on met :
 

Code :
  1. echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?> ";
  2. ?>
  3. <content>
  4. <texte>
  5. <![CDATA[<?=magic_gpc_stripslashes($row_tab['bl_texte1'])?>]]>
  6. </texte>
  7. </content>


 
et là... visiblement tout s'affiche bien !
 
je pensais pourtant que l'UTF-8 était imbattable ! d'ailleurs par défaut sur flash on utilise de l'UTF-8 !
 
bref ! ça marche.. c'est l'essentiel !
 
PS : par contre sur IE, le œ est toujours remplacé par un carré ! .. bref ! on s'en fout ! :lol:

Message cité 1 fois
Message édité par freed102 le 15-06-2007 à 17:53:21
n°1575704
AlphaZone
Posté le 15-06-2007 à 18:54:31  profilanswer
 

freed102 a écrit :

je pensais pourtant que l'UTF-8 était imbattable !


Gnié ?  :??:  


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
n°1576109
freed102
Arayashiki
Posté le 18-06-2007 à 10:23:10  profilanswer
 

oui je pensais que l'UTF-8 codait tous les caractères sans problème

n°1576144
AlphaZone
Posté le 18-06-2007 à 10:54:04  profilanswer
 

Non non. Pour moi, l'UTF-8 ca veut dire caractères sans les accents, sans les choses bizaroïdes, etc...


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
mood
Publicité
Posté le 18-06-2007 à 10:54:04  profilanswer
 

n°1576145
freed102
Arayashiki
Posté le 18-06-2007 à 10:57:55  profilanswer
 

moi j'avais compris l'inverse :

Citation :


Unicode XML propose un jeu de caractères "universel". Cet objectif est extrêmement important sur Internet, où des textes dans toutes les langues, voir multilangues, cohabitent.
 
Actuellement, et dans sa troisième version, Unicode couvre la plupart des séquences de caractères utilisées dans le monde. Il contient également les caractères spéciaux pour l'interopérabilité avec des jeux de caractères plus anciens, ainsi que les caractères de commande usuels.
 
 


Message édité par freed102 le 18-06-2007 à 10:58:54
n°1576179
AlphaZone
Posté le 18-06-2007 à 11:29:02  profilanswer
 

Ah ? lol
Pas très clair toute cette affaire!


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  caractères spéciaux : extraction de base de données pour XML

 

Sujets relatifs
Connexion a plusieur base de donnéesExtraction d'url depuis un fichier
Ouvrir et sauvegarder une base access en vbExporter données vers Excel
Mise en page pour base de données de fichiersDonnées d'un formulaire absentes dans une table
Cas spécifique de récupération de données d'un formFouille et extraction de textes
Plus de sujets relatifs à : caractères spéciaux : extraction de base de données pour XML


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR