Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 09/02/2010, 14h59   #1 (permalink)
Membre Confirmé
 
Date d'inscription: décembre 2003
Messages: 245
Par défaut Problème encodage ISO-8859-1

Bonjour,

Voila j'espère que je post dans le bon forum...

Je vous explique mon problème: en fait je suis un peu perdue avec les encodages. J'essaye de faire en sorte que mon site soit totalement encodé en ISO-8859-1 (on verra plus tard pour passer à l'UTF8), mais il y a encore des problème...

Je travail sur EasyPHP en locale pour l'instant.

Par exemple, je remarque que quand j'ouvre phpmyadmin, il me met :
Citation:
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
Interclassement pour la connexion MySQL: UTF8_general_ci
J'essaye de le changer en latin1_swedish_ci (comme ca l'est dans mes interclassements de mes tables (c'était par défaut)) et ca ne marche pas, il revient sur utf8_general_ci...

Pour coder en php, j'utilise notepad++.

J'ai donc aussi bien vérifié que tous mes fichiers soient Encodés en AINSI au format Windows.

Je suis un peu perdu la !


En fait, j'aimerai être sur que mon site est partout en ISO, quelqu'un peut-il m'aider à cela?

Grand merci .
benthebest est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2010, 15h27   #2 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 10 042
Par défaut

Les différents aspects des encodages dans Mysql sont expliqués ici :
http://dev.mysql.com/doc/refman/5.0/...-defaults.html
sabotage est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2010, 15h37   #3 (permalink)
Membre Confirmé
 
Date d'inscription: décembre 2003
Messages: 245
Par défaut

Merci

oui j'ai bien appliqué la commande sql

Code :
SET NAMES 'latin1'
dans la fenetre de phpmyadmin, mais c'est toujours en utf-8 ...
benthebest est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2010, 16h10   #4 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 10 042
Par défaut

La requête SET NAMES ne change que le paramètre de la connexion en cours, c'est à dire que ce n'est valable que jusqu'à la fin de la page PHP.
sabotage est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2010, 16h12   #5 (permalink)
Membre Confirmé
 
Date d'inscription: décembre 2003
Messages: 245
Par défaut

Que dois-je changer alors si ce n'est pas SET NAMES ?
benthebest est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2010, 16h23   #6 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 10 042
Par défaut

Tu peux utiliser SET NAMES si tu le repetes à chaque fois que tu lances une connexion mysql.

Sinon je te renvois vers la documentation que je t'ai fournie :
Citation:
Avec le client mysql, il n'est pas nécessaire d'exécuter la commande SET NAMES à chaque démarrage. Vous pouvez ajouter l'option --default-character-set-name dans la ligne de commande de mysql, ou dans le fichier d'options. Par exemple, la ligne suivante est exécutée automatiquement à chaque démarrage de mysql :

[mysql]
default-character-set=koi8r
sabotage est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2010, 17h30   #7 (permalink)
Membre Confirmé
 
Date d'inscription: décembre 2003
Messages: 245
Par défaut

Merci de ta réponse

Le problème dans cette doc est qu'ils parlent d'exécuter des commandes dos. Mais moi je suis vraiment pas trop caller en mysql et j'utilise d'ailleurs le simplissime (enfin presque!) phpmyadmin, par l'interface...

Moi je veux juste pouvoir changer l'interclassement pour la connexion mysql, de utf8 à latin1, par le biais de phpmyadmin... (comme je l'ai dis, plus c'est simple mieux c'est pour moi, car j'ai peur de faire de grosses bétises sinon !!)
benthebest est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2010, 20h28   #8 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 10 042
Par défaut

Tu ne peux pas le faire dans phpmyadmin : les paramètres sont dans le fichier de config de mysql (my.cnf)

Mais tu parles d'un serveur de production ? d'un hebergeur ? de ton serveur de developpement ?
sabotage est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2010, 23h29   #9 (permalink)
Membre Confirmé
 
Date d'inscription: décembre 2003
Messages: 245
Par défaut

non non je suis pour le moment en locale...
benthebest est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/02/2010, 23h32   #10 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 10 042
Par défaut

Je dirais alors que ta démarche n'est pas utile : sur ton hebergeur tu seras surement dans l'impossiblité de configurer mysql et devras donc utiliser SET NAMES si la connexion est par défaut en UTF8.
sabotage est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 10/02/2010, 01h36   #11 (permalink)
Membre Confirmé
 
Date d'inscription: décembre 2003
Messages: 245
Par défaut

Meme si je compte prendre un dedié?
benthebest est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/02/2010, 07h08   #12 (permalink)
Modérateur
 
Avatar de sabotage
 
Date d'inscription: juillet 2005
Messages: 10 042
Par défaut

Si tu n'aimes pas lire les docs et faire des configurations, ne prends pas un serveur dédié.
sabotage est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 10/02/2010, 12h58   #13 (permalink)
Membre Confirmé
 
Date d'inscription: décembre 2003
Messages: 245
Par défaut

Je n'ai pas le choix car l'architecture de mon projet est complexe, je n'utilise pas simplement php et mysql mais j'utilise aussi java avec un serveur tomcat couplé a apache... et je doute de pouvoir faire ceci sur un serveur mutualisé
benthebest est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/02/2010, 13h27   #14 (permalink)
Membre Confirmé
 
Date d'inscription: décembre 2003
Messages: 245
Par défaut

Bon ben j'ai fais ce que tu m'as dit, j'ai donc rajouté le character-set dans le fichier my.cnf. Voici à quoi ressemble ma section mysql :

Code :
 
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
default-character-set=latin1
 
J'ai redemarré easyphp et lorsque je suis dans la page accueil de phpmyadmin et bien ca reste toujours
Citation:
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
Quelqu'un a une explication?
benthebest est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 08h49.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.