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

SQL Procédural MySQL Discussion :

Comment changer le jeu de caractères d'une base ?


Sujet :

SQL Procédural MySQL

  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 Comment changer le jeu de caractères d'une base ?
    Bonjour,

    j'ai un hébergement chez OVH pour lequel j'ai droit à une base.
    Elle est déjà créee est est en utf-8.
    Mais j'aurais besoin qu'elle soit en latin 1…
    comment faire ça ?


    Avec PHP MyAdmin, je peux agir sur l'interclassement pour la connexion MySQL et pour chacune des tables mais la base reste :
    Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)

    Merci pour votre aide !

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 287
    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 287
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter database charset latin1
    Pour les détails, cf mon article en signature.

  3. #3
    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
    Merci pour ta réponse.

    J'ai fait :
    ALTER DATABASE ma_base DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;

    Mais je n'ai pas l'impression que ça ai fonctionné car :

    j'ai réimporté l'export de ma base locale sur le serveur OVH.
    Et je vois les caractères accentués affichés comme ça : èé
    C'est à dire que la base lit en UTF-8 des caractères Latin, non ?

    Je vois toujours pour la base :
    Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
    Mais, ça c'est peut-être normal ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 287
    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 287
    Par défaut
    c'est normal, le jeu de la base n'est que le jeu par défaut des nouvelles tables, qui n'est lui-même que le jeu par défaut des nouvelles colonnes...

    Il ne faut pas non plus convertir (ALTER TABLE... CONVERT ou ALTER TABLE MODIFY COLUMN...), car les erreurs seront converties aussi.

    C'est relativement compliqué et je n'ai pas du tout le temps de rédiger les explications détaillées, mais en gros tu as deux solutions :

    - détruire tes données et les réimporter en précisant qu'elles sont en utf8 (quel que soit le jeu des bases/tables/colonnes de destination)

    - ou alors garder tes données, passer chacune de tes colonnes TEXT ou VARCHAR en BLOB, puis les repasser en TEXT/VARCHAR CHARSET utf8

    Pour + de détails, cf mon article.

  5. #5
    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
    détruire tes données et les réimporter en précisant qu'elles sont en utf8 (quel que soit le jeu des bases/tables/colonnes de destination)

    Impec ! Merci.

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 287
    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 287
    Par défaut
    Citation Envoyé par Mister Paul
    Et je vois les caractères accentués affichés comme ça : èé
    C'est à dire que la base lit en UTF-8 des caractères Latin, non ?
    non, c'est exactement le contraire

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

Discussions similaires

  1. Changer le jeu de caractères d'une base entière
    Par renaud26 dans le forum Outils
    Réponses: 10
    Dernier message: 08/02/2007, 09h31
  2. Connaitre le jeu de caractères d'une String ?
    Par dedz dans le forum Langage
    Réponses: 7
    Dernier message: 29/06/2006, 14h15
  3. Réponses: 3
    Dernier message: 28/02/2006, 15h39
  4. Comment changer la police de caractère d'un menu
    Par RémiONERA dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/11/2005, 21h05
  5. Comment changer la couleur de fond d'une ligne du TRichEdit
    Par tibi666 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/09/2005, 17h31

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