Changement interclassement

Bonjour,
J'ai fait une table avec comme interclassement ''latin1_general_ci" mais celui-ci pose des problème avec les accents... Je souhaite donc changer pour mettre "utf8_general_ci". J'ai réussi à faire cette opération sur toutes mes colonnes sauf 2... Ces deux colonnes ont un 'index' et je n'arrive pas à supprimer cet index!
Comment puis-je modifier l'interclassement de ces deux colonnes qui ont un index?

Merci d'avance pour vos réponses. :)
Configuration: Windows / Firefox 64.0

2 réponses

  1. Modérateur
    Bonjour,
    Quel SGBD ?
    Comment as tu procédé ? Via une interface ou en ligne de commande ?

    1. phpmyadmin... J'ai crée et essayé de modifier via leur interface. J'ai réussi à modifier pour toutes mes colonnes sauf ces deux là.
    2. Modérateur
      @Gui4671phpmyadmin est juste un "programme" qui permet de manipuler la BDD.
      le SGBD ... c'est mysql.
      Donc je déplace dans le bon forum...
  2. Modérateur
    Ta BDD contient des clés étrangères ?

    Peux tu essayer, dans un onglet de requête de phpmyadmin ( onglet "sql")
    d'éxécuter le code suivant
    SET foreign_key_checks = 0;
    ALTER TABLE <table-name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
    


    Si ça ne marche pas, donne nous le message d'erreur ainsi qu'un DUMP de ta bdd.
    1. Ma bdd contient 1table. Elle est 'solitaire'.

      Voici le message d'erreur de la requete que tu m'as envoyé:
      Analyse statique :
      1 erreurs trouvées lors de l'analyse.
      Opération ALTER non reconnue. (near "" at position 0)

      Requête SQL :
      ALTER TABLE <table-name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
      MySQL a répondu: Documentation
      #1064 - Erreur de syntaxe près de '<table-name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci' à la ligne 1

      Le DUMP est le fichier de sauvegarde de ma bdd?
    2. Modérateur
      Heuu...là où c'est indiqué table_name...il faut que tu mettes le nom de ta table et sans mettre les symboles inférieur et supérieur....
    3. Voici l'erreur:
      Erreur

      Analyse statique :

      2 erreurs trouvées lors de l'analyse.

      Cette option entre en conflit avec « TABLE ». (near "table" at position 12)
      Opération ALTER non reconnue. (near "" at position 0)

      Requête SQL :

      ALTER TABLE table-clients CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci

      MySQL a répondu: Documentation
      #1064 - Erreur de syntaxe près de 'table-clients CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci' à la ligne 1
    4. Modérateur
      Comment se nomme ta table exactement ???
      Je doute que tu l'ai nommé : "table-clients" .....
      Comme je te l'ai indiqué dans mon précédent message ... il faut remplacer
       <table-name> 
      par le nom de TA table

      Autrement dit
      SET foreign_key_checks = 0;
      ALTER TABLE  icituinscritslenomdetatableàtoi CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
      
    5. J'avais compris mais je m'étais bien trompé dans le nom de ma table... Ceci dit, ça a fonctionné! Ce problème est réglé mais ça n'a pas tout résolu...
      En effet, je faisais cela parce que j'ai des problèmes avec des accents... Il y a toujours des accents qui ne s'écrivent pas comme il faut. As-tu une idée de ce qui peut provoquer cela? les é s'affichent é