Probleme avec "é" et "è"
martaba Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre martaba
- Inscrit le : 08/04/2009
Lors du transfert mon site, tous les caractères tels que "é", "è", "à" se sont transformés en "?" dans tout le site.
Merci pour l'aide
JC Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre JC
- Inscrit le : 31/01/2008
- Groupes :
Sincères salutations,
Le JC
Le JC
martaba Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre martaba
- Inscrit le : 08/04/2009
JC Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre JC
- Inscrit le : 31/01/2008
- Groupes :
Je ne sais plus
Faut attendre que quelqu'un de plus qualifié que moi te réponde ...
Sincères salutations,
Le JC
Le JC
Visiteur
Boosteur Inactif
Citation :
Vous avez en base de données des caractères accentués qui sont mal interprété lors de l'affichage de vos pages. Vous devez modifier le Charset et/ou l'Interclassement de votre Base de Données, de votre Table ou de certain Champs
1° - Qu'est-ce qu'un Charset ?
Un ordinateur ne connaît pas la notion de caractères à proprement parler, il ne connaît que les nombres.
Du coup, on a inventé une table de conversion qui fait correspondre un nombre à un caractère : il s'agit de l'ASCII. Ce dernier définit 128 caractères, sur 7 bits.
Il a toute fois été oublié dans ces tables de conversion les caractères accentués et tous les caractères spécifiques des alphabets arabes, chinois ou japonais.
Pour corriger le problème, le huitième bit a été utilisé, pour créer des "extensions" au code ASCII.
En utilisant le huitième bit, on pouvait créer 128 caractères supplémentaires, ce qui était plus que suffisant pour y placer pas mal de caractères accentués.
Ces extensions particulières sont des encodages, ou encore des jeux de caractères (charsets) particuliers.
2° - Qu'est-ce qu'un Interclassement ?
Un interclassement (aussi appelé collation) est une table de correspondance spécifique à un jeu de caractères.
Un jeu de caractères peut avoir plusieurs interclassements : en général, un par langue (par exemple, latin1 français, latin1 suédois).
Il a deux fonctions :
* Il permet l'ordonnancement correct d'une liste de caractères.
Par exemple, si l'on classe une liste par ordre alphabétique, qu'est-ce qui indique au logiciel que le é vient après le e, ou que les majuscules viennent avant les minuscules (par exemple) ?
Eh bien c'est l'interclassement.
Ces ordres sont en général spécifiques à une langue.
MySQL s'en sert pour les clauses ORDER BY des requêtes.
* Il permet de savoir quand un caractère est "équivalent" à un autre.
Par exemple, avec un interclassement adapté, le logiciel peut "prendre conscience" du fait que le caractère e est équivalent à E, mais aussi à é, ê ou é.
Cela peut se révéler extrêmement pratique pour la recherche : ainsi, une recherche sur élément retournera les résultats contenant élément mais aussi Element, element ou élEmeNt.
D'où des recherches plus efficaces.
2° - Modifier le Charset d'une Base de Données :
Voici la requête que vous devez passer à MySql pour modifier le Charset de votre Base de Donénes : (sur une seule ligne)
ALTER DATABASE NomBase CHARACTER SET CharsetSouhaité COLLATE InterclassementSouhaité
Par exemple pour modifier le Charset de votre Base en UTF-8, vous devez passer cette requête : (sur une seule ligne)
ALTER DATABASE NomBase CHARACTER SET UTF8 COLLATE utf8_general_ci
Et pour modifier le Charset de votre Base en ISO-8859-15 , vous devez passer cette requête : (sur une seule ligne)
ALTER DATABASE NomBase CHARACTER SET latin1 COLLATE latin1_swedish_ci
2° - Modifier le Charset d'une Table :
ALTER TABLE NomTable CHARACTER SET CharsetSouhaité COLLATE InterclassementSouhaité
2° - Modifier le Charset d'une Colonne :
ALTER TABLE NomTable CHANGE NomColonne NomColonne type CHARACTER SET CharsetSouhaité COLLATE InterclassementSouhaité
1° - Qu'est-ce qu'un Charset ?
Un ordinateur ne connaît pas la notion de caractères à proprement parler, il ne connaît que les nombres.
Du coup, on a inventé une table de conversion qui fait correspondre un nombre à un caractère : il s'agit de l'ASCII. Ce dernier définit 128 caractères, sur 7 bits.
Il a toute fois été oublié dans ces tables de conversion les caractères accentués et tous les caractères spécifiques des alphabets arabes, chinois ou japonais.
Pour corriger le problème, le huitième bit a été utilisé, pour créer des "extensions" au code ASCII.
En utilisant le huitième bit, on pouvait créer 128 caractères supplémentaires, ce qui était plus que suffisant pour y placer pas mal de caractères accentués.
Ces extensions particulières sont des encodages, ou encore des jeux de caractères (charsets) particuliers.
2° - Qu'est-ce qu'un Interclassement ?
Un interclassement (aussi appelé collation) est une table de correspondance spécifique à un jeu de caractères.
Un jeu de caractères peut avoir plusieurs interclassements : en général, un par langue (par exemple, latin1 français, latin1 suédois).
Il a deux fonctions :
* Il permet l'ordonnancement correct d'une liste de caractères.
Par exemple, si l'on classe une liste par ordre alphabétique, qu'est-ce qui indique au logiciel que le é vient après le e, ou que les majuscules viennent avant les minuscules (par exemple) ?
Eh bien c'est l'interclassement.
Ces ordres sont en général spécifiques à une langue.
MySQL s'en sert pour les clauses ORDER BY des requêtes.
* Il permet de savoir quand un caractère est "équivalent" à un autre.
Par exemple, avec un interclassement adapté, le logiciel peut "prendre conscience" du fait que le caractère e est équivalent à E, mais aussi à é, ê ou é.
Cela peut se révéler extrêmement pratique pour la recherche : ainsi, une recherche sur élément retournera les résultats contenant élément mais aussi Element, element ou élEmeNt.
D'où des recherches plus efficaces.
2° - Modifier le Charset d'une Base de Données :
Voici la requête que vous devez passer à MySql pour modifier le Charset de votre Base de Donénes : (sur une seule ligne)
ALTER DATABASE NomBase CHARACTER SET CharsetSouhaité COLLATE InterclassementSouhaité
Par exemple pour modifier le Charset de votre Base en UTF-8, vous devez passer cette requête : (sur une seule ligne)
ALTER DATABASE NomBase CHARACTER SET UTF8 COLLATE utf8_general_ci
Et pour modifier le Charset de votre Base en ISO-8859-15 , vous devez passer cette requête : (sur une seule ligne)
ALTER DATABASE NomBase CHARACTER SET latin1 COLLATE latin1_swedish_ci
2° - Modifier le Charset d'une Table :
ALTER TABLE NomTable CHARACTER SET CharsetSouhaité COLLATE InterclassementSouhaité
2° - Modifier le Charset d'une Colonne :
ALTER TABLE NomTable CHANGE NomColonne NomColonne type CHARACTER SET CharsetSouhaité COLLATE InterclassementSouhaité
c'est compliquer mais c'est une des solution si c'est bien la bdd
martaba Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre martaba
- Inscrit le : 08/04/2009
Crunchfamily Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre Crunchfamily
- Inscrit le : 23/09/2008
Édité par Crunchfamily Le 25/04/2009 à 21h57
martaba Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre martaba
- Inscrit le : 08/04/2009
Crunchfamily Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre Crunchfamily
- Inscrit le : 23/09/2008
Édité par Crunchfamily Le 25/04/2009 à 22h19
Ptithom Membre non connecté
-
Modérateur
- Voir le profil du membre Ptithom
- Inscrit le : 07/11/2006
- Site internet
- Groupes :
-
Equipe Historique
Tu sauvegarde via le module base de donnée (à utiliser, cf la doc) et tu la restitues ainsi ou tu passe par phpmyadmin?
Toujours OSER, savoir parfois CEDER, mais jamais RENONCER!
Mes sites : http://www.leschinchillas.org / http://www.chateau-de-lastours.fr
Mes sites : http://www.leschinchillas.org / http://www.chateau-de-lastours.fr
martaba Membre non connecté
Booster Minigun
-
Booster Minigun
- Voir le profil du membre martaba
- Inscrit le : 08/04/2009
Mais finalement, j'ai suprimé et recréé la base chez mon fournisseur, et j'ai réappliqué de nouveau les instructions décrites dans la doc; Et cette fois ci, ca a marché; Tous ses caracteres sont Ok.
Merci a tous pour votre disponibilité
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
