Bonjour

Alors voilà je fait mon site avec vim en PHP/MySQL.
J'ai choisi le codage iso-8859-1 dans les metas de mon site.

Et normalement la page est aussi enregistrer en iso-8859-1
mais lorsque je navigue sur mon site avec firefox et ben il séléctionne l'UTF-8 comme encodage de mon site.
Ca ne pause apriorie pas de probs mais lorsque j'envoi les donner d'un formulaire sur une page et que les données contiennent des caractères spéciaux et ben y a tout qui plante et ce n'est pas mon script car lorsque je séléctionne manuellement iso-8859-1 sa fonctionne mais firefox change otut le temps l'encodage en UTF-8.

voilà en ésperant qu'une bonne ame connaisse la solution...

merci
Regarde dans le fichier de conf d'apache (/etc/httpd/conf/httpd.conf) et commente la ligne
AddDefaultCharset UTF-8
Cela devrait t'aider.

Par contre, Fedora étant entièrement UTF8, comme de plus en plus de distrib et de soft (ex MySQL 4.1) il serait peut-être bon que tu essaies d'utiliser cela.

A+
  • [supprimé]

dans mon fichier de conf j'ai AddDefaultCharset ISO-8859-1

Pierre
2 mois plus tard
Je rébondis un peu sur le sujet, avec la toute nouvelle FC4, donc la dernière version de mysql et tout ça...

Alors, j'ai une table mysql importé à partir d'un fichier texte encodé UTF-8.

J'ai un ficher .php qui ne fait que chercher les résultats dans mysql. Le fichier est écrit également en UTF-8 et dans la balise <meta ..> j'indique que l'encodate est UTF-8.

Seulement voilà : le texte que j'ai écrit "brut" dans le fichier est bien interpreté : j'ai les çéàèû, mais PAS pour les résultats de mysql !!!!

Bien entendu, lorsque je dis à Firefox de changer l'encodage pour ISO-8859-1, c'est l'inverse : les résultats mysql sont bons, mais pas la phrase "brute" !!!

Qu'est ce que je dois faire ? Phpmyadmin n'a pas de souci, mais ne fait pas de CONVERT en allant chercher les résutlats et le code source dit <meta... utf-8>, tout comme je fais. Je ne vois pas ce que je dois changer...

Quelqu'un a une idée ???

Merchi d'avance,
Ooooh !!!
Personne n'a la réponse à cette question ? D'autres ont dû avoir le même problème non ??
13 jours plus tard
  • [supprimé]

Exactement le même probleme que toi, thiebo.

Je suis prêt à suivre vos idées, merci.
  • [supprimé]

Je suis désolé, je n'ai pas la solution mais un problème similaire sous gnome.

Lorsque je pas sous X, no problem.

Par contre, dans xterm, j'ai des prolème de police récurrents:

Par exemple :

# /etc/init.d/NetworkManager restart
Arrêt du démon NetworkManager : [ OK ]
Configuration des paramètres réseau...
Démarrage du démon NetworkManager : [ OK ]

Comme vous pouvez le voir, il gère mal les caractères accentués. Par contre dans les applications genre Firefox, c'est OK. J'avais cru avoir résolu le problème en modifian la variable LANG et en la mettant en :

# export LANG=ISO-8859-1
ou
# export LANG=fr_FR.UTF-8

mais en fait peanut. Ça ne fait que déplacer le problème sur des applications consoles différentes, mais le problème reste sous xterm...
  • [supprimé]

Problème résolu !

Le problème : les accents codés en 1 ou 2 octets un peu bizarrement entre Mysql - phpMyAdmin, les versions en local et serveur, ... entraînant des affichages tantôt ok pour données texte tantôt ok pour données de MySQL - meme en forcant les navigateurs etc ...

Après la lecture de "Introduction aux jeux de caractères" de Steve Frécineaux et la lecture d'un forum, je suis parvenu à ne plus avoir ce problème.

Remarque préliminaire : Mes applications ne necessitent pas de caractères spéciaux "exotiques", j'utilise l'anglais et le français. Au delà, ma solution ne fontionne pas.

Les versions récentes de phpMyAdmin semblent utiliser le codage UTF-8 pour l'affichage et l'enregistrement par défaut.

La solution consite à enregistrer, importer et exporter les données MySQL en iso-8859-1. (si vous souhaitez inserer le symbole ? - euro - ? (absent de iso-8859-1 - mais pas dans iso-8859-15), utiliser & euro; (collé ...).

Le truc est de ne pas passer par utf-8.

Marche à suivre :

A l'exportation des données, il faut selectionner le format iso-8859-1. Mais le champ n'est pas disponible par défaut.
Pour celà :
- Dans config.inc.php (de phpMyAdmin), en local et sur le seveur, il faut modifier le paramètre
AllowAnywhereRecoding = TRUE;
- Dans php.ini, (au moins en local) décommenter la ligne
extension=php_iconv.dll
(Et relancer apache ...)

Pour l'importation, choir le format iso-8859-1.

!! Des éditeurs de texte enregistent par défaut en utf-8, alors attention si vous effectuez des modifs manuellement entre temps.


Bon, voilà, j'espère que cela aidera quelqu'un.

Des questions : skot@free.fr (0.34 ?/min).