#1 Le 25/05/2008, à 23:41
- TeraBloc
Pb de codage entre Ubuntu et Phpmyadmin
Bonsoir,
Je viens encore vous solliciter.
J'ai un petit pb, je fais un site web et le pb c'est le codage. Je suis sous hardy.
Je fais mon index.php, je l'enregistre en UTF-8 (locale) et dans ce fichier, j'ai une balise <meta charset="utf-8" /> pour indiquer que j'utilise l'UTF-8.
Dans ma BDD j'ai créé une table de charset utf8 aussi donc à la création, MySQL fixe tous les champs texte à utf8_general_cie (Interclassement : utf8_general_ci).
Mais dans mon index.php, quand je fais un INSERT INTO table VALUES(...), les à sont remplacés par A tilde etc... dans la table ce qui est genant, mais le site s'affiche correctement avec des à etc...
Et quand j'insère un tuple dans phpMyAdmin, tout est correct dans la BDD mais par contre, le site s'affiche très mal : des ? à la place des caractères accentuées... Et ce qui est d'autant plus bizarre, c'est que dans ce cas, je mets l'affichage à ISO-8859-1 dans le navigateur et ça s'affiche correctement...
INFOS :
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
Interclassement pour la connexion MySQL:utf8_unicode_ci
Quelqu'un pourrait m'expliquer pourquoi ?
Merci de m'avoir lu et merci d'avance pour vos réponses
Dernière modification par TeraBloc (Le 25/05/2008, à 23:44)
Je l'avoue, je lis tous les posts des gens qui me répondent... :D
PC fixe : i3-540 - chipset graphique intégré - 4Go DDR3 1600 - Gigabyte H55M-UD2H. Ubuntu 10.04/10.10 (gnome) 64bits Windows 7 pro
PC portable : C2D P8700 (2.5GHz, 1066, 3Mo cache) - nVidia 130M (1Go) - 4Go DDR2 800. Ubuntu 10.04 (gnome) 64bits
Hors ligne
#2 Le 25/05/2008, à 23:48
- angel2005
Re : Pb de codage entre Ubuntu et Phpmyadmin
a&s tu essayer plutot utf8_unicode_ci ?pour la base mysql?
aussi dans ton fichier php essai en remplacant:
<meta charset="utf-8" />
par
charset=<?php echo CHARSET; ?>
Ubuntu Intrepid 8.10, sur Dell Latitude 120L 2 Gigas de Ram
Ubuntu Intrepid 8.10, sur Desktop CM asus P4B533
Carte video nvidia NX7600GT/ carte son M-audio Delta 44 2 gigas de Ram
http://www.imprimerie-creative.com
Hors ligne
#3 Le 26/05/2008, à 00:01
- TeraBloc
Re : Pb de codage entre Ubuntu et Phpmyadmin
Ben quand je mets ça, il me met en UTF-8. Alors ça s'affiche toujours correctement dans le navigateur mais dans la table de phpMyAdmin, c'est pas le cas, en fait j'ai l'impression que quoiqu'on lui dise, phpMyAdmin utilise l'ISO...
Je l'avoue, je lis tous les posts des gens qui me répondent... :D
PC fixe : i3-540 - chipset graphique intégré - 4Go DDR3 1600 - Gigabyte H55M-UD2H. Ubuntu 10.04/10.10 (gnome) 64bits Windows 7 pro
PC portable : C2D P8700 (2.5GHz, 1066, 3Mo cache) - nVidia 130M (1Go) - 4Go DDR2 800. Ubuntu 10.04 (gnome) 64bits
Hors ligne
#4 Le 26/05/2008, à 00:05
- angel2005
Re : Pb de codage entre Ubuntu et Phpmyadmin
pas forcement, il te faut soit ouvrir le fichier sql que tu aurras exporter, soit refaire un import de ton fichier d'origine.
la manip la plus longue mais la plus sur, c'est donc exporte ta base complete, ensuite ouvre la avec gedit par exemple, puis tu cercher les caracteres que tu veux remplacer et tu fais remplacer tous. et ce pour chaque caracteres.
si tu as le fichier d'origine de ta base sans ajout supplementaires, reimporte comme indiquer ou sinon prend latin_1, la tu aurras plus de chance d'avoir les bons caracteres.
Ubuntu Intrepid 8.10, sur Dell Latitude 120L 2 Gigas de Ram
Ubuntu Intrepid 8.10, sur Desktop CM asus P4B533
Carte video nvidia NX7600GT/ carte son M-audio Delta 44 2 gigas de Ram
http://www.imprimerie-creative.com
Hors ligne
#5 Le 26/05/2008, à 00:20
- TeraBloc
Re : Pb de codage entre Ubuntu et Phpmyadmin
Ma base est quasi vide puisque je commence seulement mon site. Donc je peux la supprimer et la recréer. Parc contre j'ai pas compris pourquoi je devais l'exporter et la réimporter ?
Je l'avoue, je lis tous les posts des gens qui me répondent... :D
PC fixe : i3-540 - chipset graphique intégré - 4Go DDR3 1600 - Gigabyte H55M-UD2H. Ubuntu 10.04/10.10 (gnome) 64bits Windows 7 pro
PC portable : C2D P8700 (2.5GHz, 1066, 3Mo cache) - nVidia 130M (1Go) - 4Go DDR2 800. Ubuntu 10.04 (gnome) 64bits
Hors ligne
#6 Le 26/05/2008, à 00:25
- angel2005
Re : Pb de codage entre Ubuntu et Phpmyadmin
si tu veux garder les modifications ainsi que les textes si il y en a, la manip donner plus haut t'eviteras donc de retaper le texte ajouter par exemple.
maintenant si c'est quasi vie et que cela t'importe peu, oui supprime la base et recree la.
pour revenir a la manip plus haut je l'ai deja fais pour une csm qui avait une base de 30 mega qui avait subit des degas a cause d'une migration sur un serveur bancale et ca ma' aider.
Ubuntu Intrepid 8.10, sur Dell Latitude 120L 2 Gigas de Ram
Ubuntu Intrepid 8.10, sur Desktop CM asus P4B533
Carte video nvidia NX7600GT/ carte son M-audio Delta 44 2 gigas de Ram
http://www.imprimerie-creative.com
Hors ligne
#7 Le 26/05/2008, à 00:36
- TeraBloc
Re : Pb de codage entre Ubuntu et Phpmyadmin
Ouais mais je remplace les caractères accentués par quoi ?
Et je crée mes tables en latin1 ?
Je l'avoue, je lis tous les posts des gens qui me répondent... :D
PC fixe : i3-540 - chipset graphique intégré - 4Go DDR3 1600 - Gigabyte H55M-UD2H. Ubuntu 10.04/10.10 (gnome) 64bits Windows 7 pro
PC portable : C2D P8700 (2.5GHz, 1066, 3Mo cache) - nVidia 130M (1Go) - 4Go DDR2 800. Ubuntu 10.04 (gnome) 64bits
Hors ligne
#8 Le 26/05/2008, à 00:44
- angel2005
Re : Pb de codage entre Ubuntu et Phpmyadmin
soit tu recree ta base si tu veux repartir a vide.
soit tu exporte la base existante, et tu remplace les caracteres qui sont pas bons par le bons, par exemple les A par des à.
Ubuntu Intrepid 8.10, sur Dell Latitude 120L 2 Gigas de Ram
Ubuntu Intrepid 8.10, sur Desktop CM asus P4B533
Carte video nvidia NX7600GT/ carte son M-audio Delta 44 2 gigas de Ram
http://www.imprimerie-creative.com
Hors ligne
#9 Le 26/05/2008, à 06:13
- Alain.g
Re : Pb de codage entre Ubuntu et Phpmyadmin
Bonjour
Tu peux configurer MySQL en UTF-8 : http://doc.ubuntu-fr.org/mysql#configuration_en_utf-8
ou faire un "SET NAMES utf8" en début de session pour indiquer quel codage de caractère est utilisé.
Exemple :
mysql_connect(HOST, USER, PASSWORD)
or die("Impossible de se connecter");
mysql_select_db(NAME);
mysql_query("SET NAMES utf8");
Dernière modification par Alain.g (Le 27/05/2008, à 12:05)
Xubuntu Karmic !
Hors ligne