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

PHP & Base de données Discussion :

Confusion UTF-8 et ISO8959-1 [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 64
    Points : 48
    Points
    48
    Par défaut Confusion UTF-8 et ISO8959-1
    Je suis en train de passer mon site en utf-8 mais c'est pas si simple que cela et je nage en pleine confusion pire, je découvre que je dois revenir en arrière car les caractères bizarres sont la et impossible de s'afficher correctement.

    comment il faudrait faire pour que tout soit en ordre

    J'ai dans les pages html
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    en plus j'ai mis
    header('Content-type: text/html; charset=UTF-8');


    Le problème est avec mysql

    Je ne sais pas si j'enregistre bien au bon format
    pour être sure je transformait mes é en &eacute; mais cela ne marche même plus
    avant l'update
    $champs = addslashes(htmlspecialchars($champs));

    Mais dans ma base je trouve
    &Atilde;&copy;

    à la place de &eacute;

    Bref je me rends compte que la fonction htmlspecialchars ou htmlentities ne fonctionne pas pareil.

    Je suis obligé de revenir en arrière car
    après quelques mises à jour une simple lettre devient

    &Atilde;ƒ??&Atilde;ƒ?&Atilde;‚&Acirc..

    Bref comment m'en sortir ?

    Dans mysql j'ai partout latin1_swedish_c

    Je précise que je travaille avec un éditeur codifiant utf-8

    j'ai l'impression que ca coinse quelque part

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    N'utilise ni htmlentities ni htmlspecialchars.
    Par contre lance une requete SET NAMES 'UTF8' apres ta connexion afin d'indiquer à mysql qu'il doit envoyer des données UTF8 et en recevoir.

    latin1_swedish_ci, c'est l'interclassement, ca n'agit pas sur le format des données, c'est par contre utilisé pour les comparaisons.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Est ce que c'est suffisant j'ai encore des problèmes après quelques mise à jour 4 février devient 4 fÃ???Ã??Ã?©Ã???Ã??Ã?©virer

    voila ce que j'ai fait :

    en début code php
    mysql_query("SET NAMES 'utf8'");
    header('Content-type: text/html; charset=UTF-8');
    +

    <meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Vérifie egalement que ton editeur écrit bien tes fichiers en UTF8.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Oui mais ce problèem je ne l'ai pas depuis un texte fixe mais à une saisie. Je suis sous linux donc mon éditeur est par défaut sous utf8. Je saisie un é et il s'affiche à l'écrant é
    Je suis prêt d'abandonner et de repasser à l'ancienne methode iso qui marchait bien.

    Sur ma page j'ai bien

    <meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>
    à l'affichage et
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>
    dans mon formulaire de saisie

    dans mon source php j'ai ajouté après la connexion
    mysql_query("SET NAMES 'utf8'");
    header('Content-type: text/html; charset=UTF-8');
    Il doit me manquer quelque chose, utf8 n'est pas si simple ce cela 3 lignes cela me semble un peu léger non ??

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Rectificaiton tout marche j'avais omis un htmlentities avant la mise à jour je viens de l'enlever et ca va bien mieux

    Moralité ne plus utiliser le htmlentity !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Configuration] Confusion de balises XML / PHP
    Par teto dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 10/09/2005, 13h40
  2. [MouseListener] Confusion de listener
    Par i.took.the.red.pill dans le forum Agents de placement/Fenêtres
    Réponses: 14
    Dernier message: 18/06/2004, 14h42
  3. Mozilla & UTF-8
    Par SergioF dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 11/05/2004, 14h00
  4. [WebForms] Encodage, UTF-8 et accents
    Par alexischmit dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 28/04/2004, 12h21
  5. RTL60 ( la jsuis un peu confused)
    Par magdoz dans le forum Outils
    Réponses: 7
    Dernier message: 23/07/2002, 11h20

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