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

  FORUM HardWare.fr
  Programmation
  PHP

  PHP, MYSQL et caracters accentues

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP, MYSQL et caracters accentues

n°1188313
piedbleu
Posté le 30-08-2005 à 23:48:46  profilanswer
 

Bjr,  
Je saisie ds des champs d'une table des données texte.  
Les accents ne passent pas - remplacés par des ? - lorsque je mets mes pages en ligne - serveur Freee - ,alors que l'affichage est correct en local - easyphp 1.6.  
 
Mes pages contiennent en en -tête:  
 echo"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">";  
 
Comment encoder/decoder les caractères accentués?  
J'aimerai intervenir à la lecture des données ds la table, donc après la saisie.  
 
Merci pour vos pistes !  

mood
Publicité
Posté le 30-08-2005 à 23:48:46  profilanswer
 

n°1188318
omega2
Posté le 30-08-2005 à 23:53:29  profilanswer
 

il y a les fonctions mb_* si disponibles (mb_convert_encoding en particulier) qui gére potentiellement de nombreuses normes ou les utf8_encode et decode.
 
Mais t'es sur que tout ce qui a été saisie dans ta page est en "iso-8859-1" et que dans les header, il n'est pas indiqué une autre norme de codage?

n°1188334
piedbleu
Posté le 31-08-2005 à 00:03:45  profilanswer
 

Mes saisies proviennent de copier/coller depuis des fichiers texte enregistrés ds le bloc note - Windows.
 
Ce pbm. d'accent n'est - il pas courant?
 
 

n°1188341
omega2
Posté le 31-08-2005 à 00:20:17  profilanswer
 

En ascii 8 bits, windows et linux n'utilisent pas le même ordre des caractéres pour les codes >127. Les caractéres accentués sont supérieurs à 127. Ca pourait donc venir de là. :(
En passant par des pages web contenant des formulaires et en utilisant htmlentities() avant d'envoyer dans la base de donnée, ca évite ce probléme.
En encodant tout en UTF8 (par exemple) avant d'envoyer dans la base de donnée, ca corrige aussi ce probléme vu que l'UTF-8 a les caractéres dans un ordre précis.
 
Mais là, pour le moment, vu que je sais pas exactement ce que t'as utilisé pour envoiyer tes données dans la base ni quelles fonctions t'utilises en php pour travailler avec les données contenu dans la base de donnée, je ne peux pas te dire exactement ce que tu dois modifier pour éviter ça.

n°1188353
piedbleu
Posté le 31-08-2005 à 00:51:10  profilanswer
 

Vu pour htmlentities() mais je n'utilise pas de formulaire et sauf erreur d ema part les caractères accentués ne sont pas des entités html.
Vu et merci pour tes 1ère et dernière rmque, les fichiers txt m'ont été fournis, je ne connais donc pas leur provenance....
Eventuellement à suivre lorsque j'aurai + de précisions.

n°1188980
piedbleu
Posté le 31-08-2005 à 18:47:47  profilanswer
 

*** PROBLEME RESOLU ***  
... et merci pour vos réponses.  
 
Lorsque j'importe mes tables depuis le serveur à l'aide de PhpMyAdmin, le jeu de caractères du fichier est "utf8" par défaut; j'ai donc validé "latin1" et maintenant c'est OK :-) OUF!  


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

  PHP, MYSQL et caracters accentues

 

Sujets relatifs
MySQL et accents[PHP/HTML...] Créer une boîte de news
MySQL/PHP : Encodage de caractère lors de INSERT ou UPDATE ou pas ?importer donnés excel dans bd mysql ?
Noob: le <head> et le PHP[PHP] Formulaire avec 2 boutons de validation ?
[PHP] la variable environnement $REMOTE_USERImages survolées en PHP, est-ce possible?
Problème d'espacement entre les tableaux en PHP 
Plus de sujets relatifs à : PHP, MYSQL et caracters accentues


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR