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

Requêtes MySQL Discussion :

Quand insérer : mysql_query("SET NAMES 'utf8'");


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut Quand insérer : mysql_query("SET NAMES 'utf8'");
    Bonjour,

    à quel moment faut-il insérer :
    mysql_query("SET NAMES 'utf8'");
    pour que cela soit efficace ?

    Merci !
    Paul

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    au début d'une session avec un client UTF8.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Par défaut
    Oui, ou juste avant une requête spécifique, tu n'es pas obligé de le faire pour toutes tes requêtes si tu n'en a pas besoin.

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Citation Envoyé par vallica
    Oui, ou juste avant une requête spécifique, tu n'es pas obligé de le faire pour toutes tes requêtes si tu n'en a pas besoin.
    C'est valable pour l'ensemble de la session. Donc si je suis ton principe, le scénario serait le suivant :

    - j'ouvre ma session
    - j'envoie un premier paquet de requêtes avec un mauvais jeu de caractères, mais je considère que ce n'est pas grave pour celles-là
    - je fais mon SET NAMES UTF8
    - j'envoie ma "requête spécifique"
    - je continue le reste de ma session en UTF8

    Franchement, je ne vois pas l'intérêt...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Par défaut
    Bonjour,

    La semaine dernière j'ai eu à faire un script dans lequel je devais importer en UTF-8 des données qui se trouvaient dans des tables hétérogènes niveau encodage.
    Je ne suis pas un pro des charset, etc. mais j'avais des tables en latin1 et certaines en utf8_general_ci, et selon les requêtes je devais changer le SET NAMES pour que mon import aboutisse.

    C'est dans ce sens là que j'ai posté cette réponse.

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    C'est là où est ton erreur : le SET NAMES indique avec quel jeu de caractères on envoie les données à MySQL, quel que soit le jeu utilisé dans la colonne cible.

    Autrement dit, si j'envoie à MySQL des données UTF8 dans une table latin1, il fait automatiquement la conversion. Par contre, si je lui envoie des données UTF8 en faisant un SET NAMES latin1, je lui fais croire que mes données sont en latin1, donc il ne convertit plus et on se retrouve avec n'importe quoi...

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

Discussions similaires

  1. [Wamp] mysql_query("SET NAMES 'utf8'") valable sur Wamp ne fonctionne pas sur Xamp ?
    Par madina dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 24/08/2011, 02h16
  2. Equivalent SET NAMES 'utf8' ds MsSql
    Par khadir dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/04/2009, 12h01
  3. [MySQL] Appliquer SET NAMES 'utf8' de manière automatique
    Par Evocatii dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/03/2009, 18h14
  4. [MySQL] Éviter SET NAMES 'utf8' ?
    Par Evocatii dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/01/2009, 21h51
  5. [MySQL] problème mysql_query('SET NAMES 'UTF8'')
    Par saidkh dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/03/2007, 21h48

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