Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Candidat au titre de Membre du Club
    Inscrit en
    juillet 2011
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : juillet 2011
    Messages : 68
    Points : 11
    Points
    11

    Par défaut Supporter les caractères spéciaux

    Bonjour,

    J'ai créé une table (via phpmyadmin) avec un champ 'name' qui contient les noms des gens. Il peut y avoir des caractères accentués, ç, etc.
    Le type est varchar(64) et l'interclassement est celui par défaut : latin1_swedish_ci

    J'insère une nouvelle personne dans la table, par exemple "François".
    Dans phpmyAdmin, je vois l'entrée qui s'affiche "François".
    Dans un shell mysql, je fais la requête SELECT name FROM people et là je vois bien "François".

    Si je modifie le nom via phpMyAdmin, je remplace "François" par "François", alors quand j'affiche les noms via le shell mysql, il m'affiche "Fran?ois".

    Alors qu'est-ce que je dois mettre comme interclassement pour avoir la bonne écriture dans phpMyAdmin ET dans le résultat de la requête ?
    Et est-ce que interclassement = charset, où il y a une autre variable à setter quelque part ?

    Merci

    PS : Je viens de faire un dump sur ma DB et je vois ça :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    /*!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 utf8 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE='+00:00' */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
     
    --
    -- Table structure for table `people`
    --
     
    DROP TABLE IF EXISTS `people`;
    /*!40101 SET @saved_cs_client     = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `people` (
      `id` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,
      `name` varchar(64) NOT NULL DEFAULT '',
      PRIMARY KEY (`id`),
    ) ENGINE=InnoDB AUTO_INCREMENT=10047 DEFAULT CHARSET=latin1;
    /*!40101 SET character_set_client = @saved_cs_client */;

  2. #2
    ced
    ced est actuellement connecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro Cédric Duprez
    Gestion de bases de données techniques
    Inscrit en
    avril 2002
    Messages
    5 064
    Détails du profil
    Informations personnelles :
    Nom : Homme Cédric Duprez
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : avril 2002
    Messages : 5 064
    Points : 16 429
    Points
    16 429

    Par défaut

    Bonjour,

    Un grand nombre de réponses à ces questions sont données dans le tutoriel suivant : http://antoun.developpez.com/mysql5/jeux-collations/
    Comme le jeu de caractère d'une console DOS est différent de celui du navigateur, afficher correctement dans les 2 environnements sera compliqué (sauf à changer quelques paramètres de part et d'autre).
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •