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 :

spécifier une fois pour toutes le character set


Sujet :

Requêtes MySQL

  1. #1
    Membre éprouvé

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Points : 900
    Points
    900
    Par défaut spécifier une fois pour toutes le character set
    Bonjour à tous

    Je suis confronté à la semble-t-il assez classique erreur
    Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
    Après quelques recherches sur google, il semblerai que ça arrive à pas mal de monde et qu'une manière de s'en sortir, c'est de modifier à la main tous les varchar de toutes les tables avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql> ALTER  TABLE  `table`  CHANGE  `toto`  `toto` VARCHAR( 40  )  CHARACTER SET utf8 COLLATE utf8_general_ci NOT  NULL;
    Problème, les varchar il y en a beaucoup. Je cherche donc un moyen d'automatiser tout ça si possible, soit

    - en spécifiant une bonne fois pour toutes que je veux du utf8,
    - en modifiant les choses en boucle
    - ou à l'inverse en allant dans mon fichier de config php et en lui disant d'utiliser du latin9


    Sachant que le choix du codage n'est pas neutre, il faut avoir quelque chose de lisible sur IE6.

    Voila, voila, pouvez vous m'aider?
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Membre éprouvé

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Points : 900
    Points
    900
    Par défaut
    J'ai trouvé comment faire:
    juste après la création de la base de données, faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql> ALTER DATABASE nom_base CHARACTER SET utf8 COLLATE utf8_general_ci;
    et ensuite la remplir.

    Si comme pour moi la base existait déjà sans être trop grosse, on la dump, on l'efface, et on la recrée à partir du dump, mais on exécute cette instruction avant de sourcer le dump.
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Modifier le PATH une fois pour toute
    Par elitost dans le forum Linux
    Réponses: 8
    Dernier message: 06/09/2009, 13h21
  2. expliquer variable une fois pour tout le code
    Par mumu64 dans le forum IHM
    Réponses: 4
    Dernier message: 01/08/2008, 12h08
  3. Chargement de mes collections une fois pour toutes
    Par lbrun79 dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2007, 13h17
  4. Réponses: 4
    Dernier message: 06/04/2007, 13h48
  5. declarer une variable une fois pour toute
    Par rober dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/11/2006, 18h35

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