Précédent   Forum du club des développeurs et IT Pro > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/11/2012, 11h39   #1
eprevot
Invité régulier
 
Inscription : juillet 2011
Messages : 53
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 53
Points : 9
Points : 9
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 */;
eprevot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2012, 11h38   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 4 068
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 37
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 4 068
Points : 8 988
Points : 8 988
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
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h50.


 
 
 
 
Partenaires

Hébergement Web