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

 MySQL Discussion :

Affichage des accents, jeu de caractères [MariaDB]


Sujet :

MySQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Décembre 2014
    Messages : 42
    Points : 26
    Points
    26
    Par défaut Affichage des accents, jeu de caractères
    Bonjour,

    Débutant en SQL, je ne comprends pas le comportement de mon SGBD MariaDB quant-aux affichages des caractères accentués, à la fois en ligne de commande et sur l'interface PHPMyAdmin.

    Je suis par exemple un tutoriel où il est proposé d'insérer une nouvelle ligne d'une table Race contenant déjà 8 lignes (8 races). Je précise que le jeu de caractères que j'ai spécifié à la connexion est utf8 (--default-character-set=utf8)

    Pas à pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO Race (nom, espece_id, description, prix)
    VALUES ('Rottweiller', 1, 'Chien d''apparence solide, bien musclé, à la robe noire avec des taches feu bien délimitées.', 600.00);
    Query OK, 1 row affected, 1 warning (0.004 sec)

    Warning 1366 Incorrect string value: '\x82, \x85 l...' for column `elevage`.`race`.`description` at row 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT description FROM Race WHERE nom = 'Rottweiller';
    Chien d'apparence solide, bien muscl?, ? la robe noire avec des taches feu bien d?limit?es.

    Si je tente de corriger les accents à la place des "?" dans PHPmyAdmin, puis de retour en console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT description FROM Race WHERE nom = 'Rottweiller';
    Chien d'apparence solide, bien muscl├®, ├á la robe noire avec des taches feu bien d├®limit├®es.



    Pouvez-vous me donner des explications, me dire ce qu'il faut faire pour avoir les bons accents affichés et que tout soit cohérent ?

    Merci

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut mango86.

    En premier lieu, il faut choisir le bon jeu de caractères à mettre en place dans votre base de données.
    MySql conseille d'utiliser "utf8mb4" comme "charset".
    Cela signifie qu'un caractère sera codé au maximum sur quatre octets.

    Pour ce qui est de la collation, mysql conseille de mettre "utf8mb4_0900_ai_ci".

    Puis ensuite, comment déclarer ce jeu de caractères ?

    1) dans les déclaratives de votre base de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE DATABASE IF NOT EXISTS `base`
    	DEFAULT CHARACTER SET `utf8mb4`
    	DEFAULT COLLATE       `utf8mb4_0900_ai_ci`;
    2) dans les déclaratives de vos tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE `Test`
    (  ...
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`utf8mb4` COLLATE=`utf8mb4_0900_ai_ci`
      ROW_FORMAT=COMPRESSED;
    3) à mettre dans le fichier "my.ini" :
    dans la section "client" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # ==================== #
    #     MySql Client     #
    # ==================== #
    
    [client]
    # --------------- #
    #     Charset     #
    # --------------- #
    
    default-character-set = utf8mb4
    dans la section mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # ==================== #
    #     MySql Server     #
    # ==================== #
    
    [mysqld]
    # --------------- #
    #     Charset     #
    # --------------- #
    
    character-set-server     = utf8mb4
    collation-server         = utf8mb4_0900_ai_ci
    character-set-filesystem = utf8mb4
    
    init-connect             = 'SET NAMES utf8mb4 COLLATE utf8mb4_0900_ai_ci'
    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Décembre 2014
    Messages : 42
    Points : 26
    Points
    26
    Par défaut
    Merci beaucoup pour ta réponse complète Artemus24,

    J'ai pris en compte pour les déclaratives des bases et des tables et j'ai fait les modifications dans mon fichier "my.ini".

    Après quelques hésitations, j'ai gardé la collation par défaut de MariaDB pour le charset utf8mb4 : utf8mb4_general_ci. Cela devrait convenir à mon besoin.

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

Discussions similaires

  1. [Console] Police et jeu de caractères
    Par Séb. dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 18/09/2005, 15h24
  2. [XSL] Transformation xsl et jeu de caractères cyrillique
    Par Maximil ian dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/09/2005, 11h41
  3. Jeu de caractères vietnamien
    Par franculo_caoulene dans le forum Installation
    Réponses: 5
    Dernier message: 01/09/2005, 10h32
  4. [SQL2K]URGENT: récupérer jeu de caractères et ordre de tri ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/04/2005, 11h43
  5. Jeu de caractères
    Par webshell dans le forum Installation
    Réponses: 2
    Dernier message: 23/05/2004, 09h38

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