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

Administration MySQL Discussion :

Mise à jour de l'interclassement d'une colonne vers l'utf8mb4


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 266
    Par défaut Mise à jour de l'interclassement d'une colonne vers l'utf8mb4
    Bonjour,

    Afin de sauver des chaînes de caractères écrites en UTF8MB4 à l'aide de scripts php dans une table existante configurée majoritairement avec l'interclassement UTF8_GENERAL_CI , je souhaite modifier directement l'interclassement des colonnes concernées de la tables depuis PHP MY ADMIN de utf8 vers utf8mb4. Comme l'espace UTF8MB4>UTF8, je pense que la modification ne devrait pas modifier les valeurs de la colonne. Mais je préfère avoir confirmation d'une personne ayant déjà fait cette opération, sinon quelles sont les solutions pour stocker l'utf8mb4 en utilisant l'utf8 ?
    Pour faire l'inverse, je dois afficher ces données à l'aide de php sur des pages web écrites en utf8 en général comment faire la conversion ?

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 599
    Billets dans le blog
    10
    Par défaut
    bonjour

    on peut tout simplement utiliser COLLATE lors de la sélection

    cf. https://dev.mysql.com/doc/refman/8.0...t-collate.html

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 266
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    bonjour

    on peut tout simplement utiliser COLLATE lors de la sélection

    cf. https://dev.mysql.com/doc/refman/8.0...t-collate.html
    Oui.



    Mon problème finalement persiste puisque après mise à jour je n'arrive toujours pas à insérer des caractères spéciaux utf8 :
    Incorrect string value: '\xF0\x9F\x93\x83 ' for column 'objet' at row 1
    Est il nécessaire de modifier tous les interclassements des bases de données (Mysql 5.6...) ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 266
    Par défaut
    Je viens de tester directement sur une copie de la table (peut être qu'une copie n'est pas nécessaire) et j'ai pu contrôler normalement grâce à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT m1.numero,m2.numero,m1.objet,m2.objet FROM `table` m1,`table_copie` m2 WHERE CONVERT(m1.objet USING UTF8MB4)!=CONVERT(m2.objet USING UTF8MB4) AND m1.numero=m2.numero
    Ce qui ne retourne aucun résultat et c'est bien ce qui était attendu. Et d'après ce test j'en conclus que la mise à jour UTF8 vers UTF8MB4 ne pose pas de problèmes sur une seule colonne. En ce qui concerne l'affichage du texte, il y a différentes solutions qui ne dépendent pas de la base de données.

Discussions similaires

  1. [EXCEL] Mise en évidence des doublons dans une colonne
    Par dacid dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/10/2006, 19h14
  2. mise à jour de la valeur d'une liste
    Par nicolovitch dans le forum Access
    Réponses: 4
    Dernier message: 03/08/2006, 13h20
  3. Réponses: 1
    Dernier message: 24/04/2006, 16h16
  4. Mise à jour de données à partir d'une autre table
    Par rsc dans le forum Langage SQL
    Réponses: 7
    Dernier message: 05/04/2006, 10h53
  5. Probleme de mise à jour et de modification d'une base
    Par flambo88 dans le forum Requêtes
    Réponses: 17
    Dernier message: 07/12/2005, 14h27

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