IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[CSV] Eternel problème d'accents


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 269
    Points : 172
    Points
    172
    Par défaut [CSV] Eternel problème d'accents
    J'ai regardé les differents posts sur les problemes de caracteres accentues avec php mais je ne trouve pas ma reponse , enfin ma solution.

    j'ai une ligne toute bete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    echo " <tr>";
    echo "  <td class=textNoir11 align=right>Civilité : </td>";
    echo "	<td>&nbsp;";
    echo "	 <select class=select class=select id=inputCivilite>";
    echo " 	  <option selected value=Mr>Mr</option>";
    echo " 	  <option value=Mme>Mme</option>";
    echo " 	  <option value=Mlle>Mlle</option>";
    echo "	 </select>";
    echo "	</td>";
    echo " </tr>";
    Sauf que voila comment s'affiche le caractere accentue de "civilité" dans ma page : Civilit� en sachant que celle si n'est pas appelé directement mais via un script js ajax (mais ne pense pas que cela intervienne dans le soucis)

    Ca doit etre tout con mais surment trop ou pas assez pour moi apparement ..^^

    Merci a tous si quelqu'un a la solution.

    J'ai mis ca dans ma page index.html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
    Mais ca affiche bien les caracteres accentués mais que de cette page le reste ne fonctionne pas ... snif

  2. #2
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 64
    Points
    64
    Par défaut accent
    Tu fera mieu de remplacer le é dans 'civilisé' pas son code html : &eacute; ce qui donnera "civilis&eacute;" .
    Si le probléme n'est pas résolu alors c'est le navigateur qui ne va pas , j'ai deja rencontré ce genre de problémes , c'était le navigateur .

    Résolu ?

  3. #3
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    tchoukapi, vérifie l'encodage de ton fichier qui contient tes echo. Ton éditeur de texte te fournira l'info.

  4. #4
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 64
    Points
    64
    Par défaut l'encodage
    son encodage est :iso-8859-1 : europe de l'ouest

    <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">


  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Je parle du fichier, pas du flux html...
    Le script qui contient les echo...

  6. #6
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 269
    Points : 172
    Points
    172
    Par défaut
    Merci pour tous ces conseils , j'ai testé la solution d'helww et effectivement ca fonctionne.

    Cependant pour les conditions generales du site par ex. je charge un fichier texte externe dans un textearea et la "bing" tous les caracteres accentué et meme speciaux se transforme en caractere "space"

    Egalement si la personne saisie son prenom ou autres avec des caracteres accentues je le retrouve en base avec des caractere de ouf!! ^^

    galézé par exemple pour galézé.

    N'y a t-il pas une conf dans ma base a gerer ou bien ?.

    J'ai code mon truc sous ultraEdit mais je ne vois pas ou je peut trouve l'encodage de mon fichier ... je continue a chercher

  7. #7
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Arf, selon http://www.ultraedit.com/index.php?n...iewtopic&t=833 UltraEdit ne support pas la selection manuelle de l'encoding de ton fichier
    Essaie avec un autre editeur

  8. #8
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 269
    Points : 172
    Points
    172
    Par défaut
    Alors testons avec pspad.
    Yesss pour les conditions generales j'ai passé en UTF-8 et c'est nickel car en (ISO 8859-2) ca na rien changé.
    IMpec merci !

    Par contre je vais essaye avec mes fichiers php ....

    Et bien malheureusement mon dernier probleme et pas le moindre subsiste.
    le prenom (par ex.) comportant un caractere accentué est enregistré tout d'abord en session ($_SESSION[clientPrenom]) puis ensuite mis en base
    avec des caractere bizarres ... : galézé

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Tu fais un htmlentities() avant l'entrée dans la BDD ?

  10. #10
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Il ne faut pas faire de htmlentities avant de stocker qq chose en bdd

    tchoukapi, il faut que toute la chaine soit dans le même encoding :
    encoding bdd = encoding script/fichiers = encoding flux html/headers http
    Comme ça tu es sur de n'avoir aucun soucis.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Citation Envoyé par Mr N.
    Il ne faut pas faire de htmlentities avant de stocker qq chose en bdd
    J'étais pas au courant :o, je peux avoir la raison? ^_^

  12. #12
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 269
    Points : 172
    Points
    172
    Par défaut
    Non aucun htmlentities() !
    mais d'ailleurs ca ne le fais pas seulement en base car quand je me balade la variable en session et que je l'exporte vers un pdf par exemple elle s'affiche avec les caracteres "Spaces"

    tchoukapi, il faut que toute la chaine soit dans le même encoding :
    encoding bdd = encoding script/fichiers = encoding flux html/headers http
    Comme ça tu es sur de n'avoir aucun soucis.
    Tu veux dire que les fichiers php en UTF-8 par exemple de meme pour la base ?

  13. #13
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par tchoukapi
    mais d'ailleurs ca ne le fais pas seulement en base car quand je me balade la variable en session et que je l'exporte vers un pdf par exemple elle s'affiche avec les caracteres "Spaces"
    Ca peut venir de la lib que tu utilises. Je sais que j'ai eu pas mal de problèmes avec les accents quand j'ai jouer avec pdf

    Citation Envoyé par tchoukapi
    Tu veux dire que les fichiers php en UTF-8 par exemple de meme pour la base ?
    Oui, plus toute la chaine de traitement sera uniforme, moins tu auras de problèmes. Je ne dis pas qu'il faut passer forcément par UTF-8, mais juste d'avoir un environnement uniforme.

  14. #14
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par SpiritOfDoc
    J'étais pas au courant :o, je peux avoir la raison? ^_^
    Tout simplement parce que dans la majorité des cas, on s'attend à trouver en base de données exactement ce qu'a tapé l'utilisateur. Pourquoi une base de donnée ne devrait-elle contenir que de l'html ? Si je veux exporter les donnés au format csv par exemple, je n'ai pas forcément envie d'avoir des données htmlentitisées...

    Prenons un exemple plus flagrant : sur ce forum quand tu tape un message avec des smileys, tu tapes :^) ce qui va être remplacer par <img src="" />. Si le forum s'amuse à remplacer les smileys avant de stocker en bdd, si j'édite le message par la suite, je vais me retrouver avec un <img /> à la place de mon :^) ... Il faut garder au maximum la chaine tapé par l'utilisateur intacte.

    De plus les entités html prennent de la place &eacute; contre é dans un texte en français ça fait de l'économie de bande passante. Editer un texte manuellement htmlentitiesé, s'est assez indigeste alors qu'un texte naturel...
    Bref. htmlentities ne me sers qu'à une chose : échapper les caractères spéciaux quand je veut mettre du texte dans les attributs des éléments html...

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Je pensais bien que c'était plus couteux ^_^.

    Par contre, je n'avais jamais penser à la possibilité d'exporter le contenu sous une autre forme ...

    Merci ^_^.

  16. #16
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 269
    Points : 172
    Points
    172
    Par défaut
    Citation Envoyé par Mr N.
    Ca peut venir de la lib que tu utilises. Je sais que j'ai eu pas mal de problèmes avec les accents quand j'ai jouer avec pdf
    En fait je stocke les donnees de mon formulaire en session histoire de pouvoir les retrouver n'importe quand meme si l'utilisateur navigue en meme temps sur le site .Et ensuite au moment de la validation du formulaire j'utilise la class "fpdf" qui apparement fait reference en matiere de generation de pdf avec php.

    Cependant je ne pense pas que cela vienne de cette classe etant donnee que les donnes envoye au pdf sont egalement stockés en base et se trouve egalement impactées par ce changement de caracteres

    Pour la librairie etant donnee que je n'heberge pas mon site. Je vais questionner l'hebergeur a ce sujet egalement peut pourra-t-il me donner une explication

Discussions similaires

  1. problème d'accent sur le fichier csv
    Par olikhvar dans le forum Langage
    Réponses: 1
    Dernier message: 05/02/2011, 07h04
  2. [MySQL] L'eternel problème des accents
    Par sabotage dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/04/2008, 22h42
  3. Réponses: 3
    Dernier message: 25/02/2005, 20h46
  4. [XSLT] application d une xslt et problème d'accents
    Par lanfeust23 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 26/07/2004, 13h08
  5. Problème avec accents et CHARACTER SET ISO8859_1
    Par kinda dans le forum InterBase
    Réponses: 13
    Dernier message: 30/10/2003, 15h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo