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 :

Base de données en Unicode mais les accents ne passent pas [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Par défaut Base de données en Unicode mais les accents ne passent pas
    Bonjour,
    Je fais un site et j'ai besoin de l'utf-8 (j'utilise Mysql avec PDO) donc j'ai mis toutes mes pages avec le doctype ci dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    Quand j'ai fait ma base de données j'ai mis la base et toutes les tables en utf8 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CREATE DATABASE nomdelabase
    DEFAULT CHARACTER SET utf8 
    COLLATE utf8_unicode_ci;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ENGINE = innodb CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    Et malgré tout ça, quand je rentre des accents dans les formulaires : ça foire !
    Quand je vais dans phpMyadmin les caractères sont transformés.
    ex : Les îles de Barnabé pour : les îles de Barnabé
    ça devrait marcher pour : ça devrait marcher.
    Il me semblait avoir suivi toutes les recommandations que j'avais trouvées sur le web mais j'ai dû oublier quelque chose.
    Merci d'avance pour vos suggestions

  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
    Par défaut
    Essai de lancer la requete :
    SET NAMES "UTF8"
    après ta connexion.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Par défaut
    Après chaque insert?
    Si c'est le cas c'est énorme!!

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Par défaut
    Je l'ai mis juste après l'instanciation de mon objet PDO (j'ai relu ta phrase) mais il me me met une erreur de syntaxe sur SET NAMES "UTF8".
    Ah je vais essayer sans guillemets peut-être...

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Par défaut
    Non ça ne marche pas. Je vais chercher sur le net pour savoir comment on utilise cette instruction.

  6. #6
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Par défaut
    ALors voilà j'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $connexion->query('SET NAMES utf8');
    et ça a marché.
    Merci beaucoup, c'est cool mais ça veut dire que je dois mettre cette ligne après chaque instanciation de mon objet connexion?
    Et dans ce cas j'aimerais comprendre pourquoi, alors que j'ai mis la bdd et mes fichiers en utf8. Qu'est ce qui manque? Et il n'y a pas moyen de faire un truc une bonne fois pour toutes?

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

Discussions similaires

  1. comment manipuler une base de données paradox 7 avec les sockets?
    Par fahdmustapha dans le forum C++Builder
    Réponses: 2
    Dernier message: 06/06/2011, 14h32
  2. [FPDF] Les accents ne passent pas avec FPDF
    Par beegees dans le forum Bibliothèques et frameworks
    Réponses: 13
    Dernier message: 02/03/2009, 09h16
  3. [SQL-Server] Les accents ne passent pas entre MS SQL et PHP ?
    Par stephane9422 dans le forum PHP & Base de données
    Réponses: 34
    Dernier message: 17/11/2008, 15h22
  4. Base de données ou fichier avec les stations de métro ?
    Par webtheque dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/09/2008, 15h50
  5. base de donnée sous excel: effacer les données
    Par eseb777 dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 03/05/2007, 09h32

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