View previous topic :: View next topic |
Author |
Message |
chrissou Guru
Joined: 22 Mar 2004 Posts: 473
|
Posted: Wed Aug 02, 2006 2:00 pm Post subject: |
|
|
impec phpmyadmin fonctionne
voici ce que ca donne
Code: |
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
et l'interclassement de toute mes bases : latin1_swedish_ci
|
_________________ MacBookPro 17, OSX 10.6
Mon site oueb : http://www.generationdomotique.com |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1902 Location: 127.0.0.1
|
Posted: Wed Aug 02, 2006 2:02 pm Post subject: |
|
|
chrissou wrote: | pour ma part je n'arrive pas a installer phpmyadmin ca me dit toujours :
Code: |
MySQL a répondu:
#1045 - Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: NON)
|
alors que j'ai bien config le config.inc.php enfin c'est pas bien grave je me sers jamais de ce truc la de toute facon ... |
Pour te connecter à mysql, la commande est la suivante :
Quote: | C'est une solution en attendant, mais je suis curieux et j'aimerai bien comprendre pourquoi |
Voilà la réponse (tu remplaces latin2 par utf8 dans l'exemple, et on tombe dans ta situation) :
Quote: | EXEMPLE : supposez que column1 est défini par CHAR(5) CHARACTER SET latin2. Si vous n'indiquez pas SET CHARACTER SET, alors la commande SELECT column1 FROM t retournera les valeurs de la colonne column1 en utilisant le jeu de caractères latin2. Si, d'un autre coté, vous utilisez la commande SET CHARACTER SET latin1, le serveur va alors convertir le résultat de latin2 en latin1 juste avant de l'envoyer. De telles conversion sont lentes. |
http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html
@chrissou > force le jeu de caractères en effectuant la requête set NAMES 'latin1' après la connexion mysql dans ton script php. |
|
Back to top |
|
|
cooldje n00b
Joined: 12 Oct 2004 Posts: 34 Location: FRANCE
|
Posted: Wed Aug 02, 2006 3:40 pm Post subject: |
|
|
Merci NetFab pour ta réponse
J'avoue que j'ai beau faire des tests, la seule solution semble être de définir le SET NAMES avant les requêtes via PHP.
Car si je comprends bien les variables, je ne devrai pas avoir à lui repréciser le character_set vu que la base est en latin1, les connexions aussi, ainsi que le format des résultats renvoyé (results) latin1.
Définir le SET NAMES, c'est comme ci je lui répétais que oui oui, je voudrai du latin1 stp lol |
|
Back to top |
|
|
chrissou Guru
Joined: 22 Mar 2004 Posts: 473
|
Posted: Wed Aug 02, 2006 6:32 pm Post subject: |
|
|
le problème dans mes scripts php c'est que je ne capte rien du tout la dedans ce sont des scripts fait maison mais pas de moi et c'est une véritable usine @ gaz ..
Moi ce qui m'échappe c'est pourquoi mon site tournait a merveille sur un autre serveur et la je suis obligé de changer les scripts :'(
Merci @ vous _________________ MacBookPro 17, OSX 10.6
Mon site oueb : http://www.generationdomotique.com |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1902 Location: 127.0.0.1
|
Posted: Wed Aug 02, 2006 7:23 pm Post subject: |
|
|
Parce qu'il y a de grandes chances que l'encodage par défaut du serveur MySQL ne soit pas le même entre les 2 serveurs.
Que donne :
Code: |
$ grep -R mysql_connect repertoire_des_sources_php/*
|
çà devrait te donner le nom d'un fichier. Ce fichier, upload le quelque part, et donne un lien...
Quote: | Car si je comprends bien les variables, je ne devrai pas avoir à lui repréciser le character_set vu que la base est en latin1, les connexions aussi, ainsi que le format des résultats renvoyé (results) latin1.
Définir le SET NAMES, c'est comme ci je lui répétais que oui oui, je voudrai du latin1 stp lol |
Oui. Mais sans avoir la base et le code php sous les yeux, je ne peux pas t'en dire plus. L'explication est certainement dans le manuel de mysql, je n'ai pas vérifié. |
|
Back to top |
|
|
chrissou Guru
Joined: 22 Mar 2004 Posts: 473
|
Posted: Thu Aug 03, 2006 4:15 am Post subject: |
|
|
Effectivement ca me ressort tous les fichiers ou j'ai un mysql _connect dedans mais il y a bien 15 fichiers différents :'( _________________ MacBookPro 17, OSX 10.6
Mon site oueb : http://www.generationdomotique.com |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1902 Location: 127.0.0.1
|
Posted: Thu Aug 03, 2006 7:07 am Post subject: |
|
|
Quote: | Effectivement ca me ressort tous les fichiers ou j'ai un mysql _connect dedans mais il y a bien 15 fichiers différents :'( |
Effectivement, une vraie usine à gaz |
|
Back to top |
|
|
cooldje n00b
Joined: 12 Oct 2004 Posts: 34 Location: FRANCE
|
Posted: Thu Aug 03, 2006 7:27 am Post subject: |
|
|
En effet, si la connection est fait en début de chaque fichier, va falloir modifier chaque fichier.
Voici comment j'ai fait (fichier de test):
Quote: |
$dbconnect = @mysql_connect(localhost, user, password)
or die("Impossible de se connecter");
$connect = @mysql_select_db(database) or die("Could not select database");
$query = "SET NAMES 'latin1'";
$result = @mysql_query($query) or die("Query failed");
$query = "SELECT * FROM categorie";
$result = @mysql_query($query) or die("Query failed");
|
le gras, c'est la valeur a renseigner
en rouge la requête pour le latin1 rajouter pour que ça marche
en vert la requête normal qui n'apparaissait pas comme il faut avant.
Ensuite j'ai porter ça dans notre appli mais la connection à la base était centraliser, c'est à dire un seul fichier pour ça à modifier, fichier qui est inclus par la suite dans chaque fichier php qui en à besoin. |
|
Back to top |
|
|
chrissou Guru
Joined: 22 Mar 2004 Posts: 473
|
Posted: Thu Aug 03, 2006 7:41 am Post subject: |
|
|
ok bah si c'est la seule solution je vais mettre les mains dans le camboui alors :'( _________________ MacBookPro 17, OSX 10.6
Mon site oueb : http://www.generationdomotique.com |
|
Back to top |
|
|
cooldje n00b
Joined: 12 Oct 2004 Posts: 34 Location: FRANCE
|
Posted: Thu Aug 03, 2006 7:49 am Post subject: |
|
|
Ben ouais pour le moment en tout cas je vois pas d'autre solution, je continue de travailler sur le sujet.
Car j'ai d'autre machine pour tester.
Et par exemple, je viens de tester sur un apache 2.0.xx + mysql 4.1.20 (latin1), et ça fonctionne nikel sans ajouter la requête SET NAMES, donc je me demande si mon soucis ne vient pas de apache 2.2.x qui aurait un coding différent par défaut, pour le moment, je n'ai pas trouvé d'infos là dessus.
A suivre lol |
|
Back to top |
|
|
chrissou Guru
Joined: 22 Mar 2004 Posts: 473
|
Posted: Thu Aug 03, 2006 7:52 am Post subject: |
|
|
et bien j'attends tes tests n'ayant pas d 'autre machine pour tester je suis dans l'attente ...
Merci @ toi _________________ MacBookPro 17, OSX 10.6
Mon site oueb : http://www.generationdomotique.com |
|
Back to top |
|
|
|