Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[mysql] les accents posent problème !
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
chrissou
Guru
Guru


Joined: 22 Mar 2004
Posts: 473

PostPosted: Wed Aug 02, 2006 2:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1902
Location: 127.0.0.1

PostPosted: Wed Aug 02, 2006 2:02 pm    Post subject: Reply with quote

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 :
Code:

$ mysql -u root -p


Quote:
C'est une solution en attendant, mais je suis curieux :D et j'aimerai bien comprendre pourquoi :D

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
View user's profile Send private message
cooldje
n00b
n00b


Joined: 12 Oct 2004
Posts: 34
Location: FRANCE

PostPosted: Wed Aug 02, 2006 3:40 pm    Post subject: Reply with quote

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
View user's profile Send private message
chrissou
Guru
Guru


Joined: 22 Mar 2004
Posts: 473

PostPosted: Wed Aug 02, 2006 6:32 pm    Post subject: Reply with quote

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
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1902
Location: 127.0.0.1

PostPosted: Wed Aug 02, 2006 7:23 pm    Post subject: Reply with quote

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
View user's profile Send private message
chrissou
Guru
Guru


Joined: 22 Mar 2004
Posts: 473

PostPosted: Thu Aug 03, 2006 4:15 am    Post subject: Reply with quote

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
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1902
Location: 127.0.0.1

PostPosted: Thu Aug 03, 2006 7:07 am    Post subject: Reply with quote

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
View user's profile Send private message
cooldje
n00b
n00b


Joined: 12 Oct 2004
Posts: 34
Location: FRANCE

PostPosted: Thu Aug 03, 2006 7:27 am    Post subject: Reply with quote

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
View user's profile Send private message
chrissou
Guru
Guru


Joined: 22 Mar 2004
Posts: 473

PostPosted: Thu Aug 03, 2006 7:41 am    Post subject: Reply with quote

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
View user's profile Send private message
cooldje
n00b
n00b


Joined: 12 Oct 2004
Posts: 34
Location: FRANCE

PostPosted: Thu Aug 03, 2006 7:49 am    Post subject: Reply with quote

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
View user's profile Send private message
chrissou
Guru
Guru


Joined: 22 Mar 2004
Posts: 473

PostPosted: Thu Aug 03, 2006 7:52 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum