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 :

Changer d'interclassement


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 131
    Par défaut Changer d'interclassement
    bonjour
    je suis en train de voir si je peux manipuler une bdd chez Free.
    Je cherche à y exporter ma bdd réalisée en local.
    Lorsque je fais la manip, le phpmyadmin de free me répond que mon character set utf8mb4 est inconnu. (seul utf8 l'est avec des iso8859 de 1 à 15 des windows1250,51,52,56,57 et quelques autres)
    J'ai donc tenté de changer l'interclassement de ma bdd (utf8mb4_0900_ai_ci) avec par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE `bdd` CONVERT TO CHARACTER SET utf8 COLLATE utf8mb4_0900_ai_ci
    que j'ai copié sur un forum et d'autres variantes.
    Là c'est phpmyadmin qui répond
    COLLATION 'utf8mb4_0900_ai_ci' is not valid for CHARACTER SET 'utf8mb3'
    ou bien
    Unknown collation: 'utf8mb4'
    Quelqu'un peut-il m'expliquer ce que je dois faire ?

  2. #2
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 131
    Par défaut
    Après pas mal de tentative et de manip
    le point de la situation est le suivant

    comme interclassement de mes lignes de table j'ai mis cp_1250_general_ci puisqu'il n'existe pas de truc windows.
    pourtant dans le bloc "information" de la structure de la bdd je lis en interclassement utf8mb4_0900_ai_ci. Je ne
    sais pas d'où il viens et je ne sais pas le changer
    En ouvrant le SQL
    j'ai trouvé ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;
    -- Base de données : `mabdd`
    - Structure de la table `matable`
    DROP TABLE IF EXISTS `groupes`;
    CREATE TABLE IF NOT EXISTS `groupes` (
      `ID` int UNSIGNED NOT NULL AUTO_INCREMENT,
    truc CHARACTER SET cp1250 COLLATE cp1250_general_ci NOT NULL,
    machin CHARACTER SET cp1250 COLLATE cp1250_general_ci NOT NULL,
      PRIMARY KEY (`ID`)
    ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
    Je constate qu'il y a un utf8mb4 alors que toutes les lignes de la table sont en cp_1250.
    Je ne sais pas d'où ça vient
    Maintenant voilà les outils free
    MySQL
    Serveur: ????.sql.free.fr via TCP/IP
    Version du serveur: 5.0.83
    Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)

    Serveur web
    Apache
    Version du client MySQL: 5.1.61
    Extension PHP: mysql

    phpMyAdmin
    Version: 3.1.5

    Je ne sais pas du tout si c'est convenable ou pas du tout.
    Comme je l'ai dit plus haut le serveur répond un erreur avec

    Pour importer mon fichier SQL j'ai mis le jeux de caractères du fichier en windows1250 car il n'y a rien qui ressemble au jeux du localhost
    Les nom d'interclassement utf8 n'ont rien à voir avec ceux en local qui sont utf8mb4 etc sur le serveur j'ai juste utf8. Par exemple utf8_general_ci

    Les nom des interclassement et des caractères set ne se correspondent pas du tout.
    Ca dépasse de loin mes compétences

    Le seul truc que j'ai trouvé de commun est un latin_1_bin. et quelques autres latin quelque chose.

    Je ne sais pas à quoi ils correspondent. Est-ce utilisable ? Que va-t-il se passer avec les accents ?

    etc

    Si quelqu'un pouvait éclairer un peu ma lanterne

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    Vous confondez jeu de caractères qui relève du physique avec la notion de collation (et non d'interclassement qui est autres chose) qui relève du logique et vous ne nous dites pas quel est le but de tout cela.... Il est donc difficile de vous aiguiller !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 131
    Par défaut
    Mon problème est la réponse de free !

    J'ai cherché à importer sur le site la bdd réalisée localhost
    je reçoit la réponse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    requête SQL:
    /*!40101 SET NAMES utf8mb4 */;
    MySQL a répondu:Documentation
    #1115 - Unknown character set: 'utf8mb4'
    J'ai donc cherché où il y avait écrit ce nom utf8mb4 et le seul endroit que j'ai trouvé est dans la rubrique interclassement.
    Comme je l'ai écrit J'ai donc tenté de changer le character set, sans succès.

    En tout état de cause voilà la réponse que j'avoue ne pas comprendre du tout et je ne sais pas du tout ce que je dois changer, où et comment

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    J'ai du mal à comprendre ce que vous faites....

    Votre base de données vous l'avez créé sur votre PC personnel et vous tentez de la mettre sur un serveur chez un hébergeur ? Est-ce cela ?

    Sinon, expliquez ce que vous faites.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 131
    Par défaut
    C'est exactement ça !

    Je voudrais transférer la BDD local chez l'hébergeur.

    D'accord je peux aussi créer directement chez l'hébergeur mais les problèmes que je viens de découvrir seront les mêmes.
    Je crois avoir compris la chose suivante.

    En utf8 phpmyadmin sur mon PC n'a aucun interclassement disponible (utf8_ ???) seulement du utf8mb4 qui n'est pas disponible chez l'hébergeur.
    En comparant les deux listes je n'ai trouvé que latin1 qui soit commun.

    J'en déduis que si je veux pouvoir manier les deux bdd et les passer du pc au site je dois utiliser du latin1 comme charset et par exemple german1_ci que j'ai lu être plus conforme au usages français que swedish.
    Dans la réalité de ma bdd il n'y a quasiment pas de lettres accentuées pour la simple raison que je n'ai pas d'accent exotique sur mon clavier et dans mon éditeur.
    Je peux peut-être en avoir par des combinaison de touches mais a priori je m'en abstiendrai lorsque je vais remplir les tables définitivement.

    De toute façon je n'ai pas de caractères chinois, arabe, urdu, cunéïforme ou linéaire B...

    Je pense donc mais c'est à me confirmer que je peux utiliser autre chose que de l'utf8.
    Est-ce que je peux utiliser tout en latin1 sans que ça mette le bazard dans l'avenir

    Une des choses qui me perturbent est qu'il semblerait exister un interclassement pour la table, un autre par colonne et je viens de découvrir un "interclassement pour la connexion au serveur" Les trois ayant l'air d'être indépendants.
    Comment tout mettre en latin1 et en german1_ci ?

    Pendant que l'on y est mon phpmyadmin du pc ne m'affiche pas les accents lorsque j'ouvre une page dans firefox via localhost alors que je n'ai aucun soucis lorsque j'ouvre la même page directement par firefox.
    Il doit y avoir quelque chose à changer quelque part mais je ne sais pas du tout quoi ni où.

    Voilà la situation présente

Discussions similaires

  1. Changer l'interclassement d'une colonne sans perdre de contenu
    Par Freedolphin dans le forum Administration
    Réponses: 2
    Dernier message: 29/05/2019, 11h01
  2. [phpMyAdmin] changer l'interclassement dans une table alimentée
    Par sam01 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 24/02/2016, 16h04
  3. Changer d'interclassement
    Par Christophe Charron dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/05/2010, 13h36
  4. Changer Interclassement
    Par Invité dans le forum Débuter
    Réponses: 8
    Dernier message: 22/11/2004, 13h37
  5. changer l'adresse d'un fichier...
    Par cava dans le forum C
    Réponses: 6
    Dernier message: 05/06/2002, 13h22

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