Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/09/2008, à 11:20

Maelikk

Charset : apache n'en fait qu'à sa tête !

Bonjour,

Après avoir épluché une vingtaine de sites/posts traitant des problèmes d'encodage, mon souci n'est toujours pas réglé. Il est tout à fait possible que je sois passé à côté de la solution parce que je n'aurais pas redemarré apache au bon moment, ou bien pour avoir oublié de supprimer le cache de firefox après une manip' ; le fait est que je suis complètement perdu, et que j'ai besoin de vous !

Mon problème : le site que je crée est en utf8 pour la majeure partie du site, et en iso-8859-1 pour la partie forum (étant recommandé de laisser punBB avec cet encodage). Que ce soit sur ma bécane (ubuntu 8.04) ou sur le serveur de free, le charset de l'entête est toujours utf8. Pour l'instant j'essaie de comprendre ce qui ne va pas sur ma machine avant de m'attaquer à free. J'ai mis AddDefaultCharset Off dans le fichier /etc/apache2/httpd.conf, commenté la ligne AddDefaultCharset UTF8 dans le fichier /etc/apache2/conf.d/charset, j'ai commenté la ligne default_charset = "UTF8" dans le fichier /etc/php5/apache2/php.ini et j'ai ajouté la ligne AddDefaultCharset Off dans le fichier .htaccess de mon site ; mais rien n'y fait, le charset de l'entête est toujours utf8.

J'ai trouvé tout de même deux façons de modifier l'entête, ce ne sont pas des solutions à terme, mais peut être que cela vous en dira un peu plus quant à mon problème. Si je mets default_charset = "iso-8859-1" dans le fichier php.ini, le charset envoyé par l'entête devient alors iso-8859-1 pour toutes mes pages, y compris celles en utf8. Autre solution, mettre la ligne header('Content-type: text/html; charset=iso-8859-1'); au début de chacun des fichiers composants le forum, là encore j'aimerais pouvoir faire autrement, il y a bcp de fichiers, et c'est plus du bricolage qu'autre chose.

Résumé de mon problème : pourquoi apache continue-t-il d'envoyer le charset utf8 en l'absence de toutes précisions de ce charset dans les fichiers de configuration ?

Merci d'avance pour toutes les pistes et explications que vous pourrez m'apporter

Guillaume

p.-s. : peut-être une autre piste => en l'absence de toute spécification de l'encodage, apache utilise peut être l'encodage employé sur la page index.php du site ?

Hors ligne

#2 Le 04/09/2008, à 11:59

angel2005

Re : Charset : apache n'en fait qu'à sa tête !

salut, as tu regarder la configuration de ton pc. les locales. il te faut peut etre ajouter iso-8859-1 dans tes locales.


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 04/09/2008, à 12:17

Ad_Vitam

Re : Charset : apache n'en fait qu'à sa tête !

Bonjour,

Les probleme de charset son pas évident a résoudre.
je sais pas si le problème vient vraiment de apache ou php.

regarde dans le code source de tes sites. Quel est l'encodage ?
Par exemple sur le forum ubuntu-fr tu peux voir  :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Et dans firefox  "view", "character encoding" il est sur UTF8

Regarde sur ton site si la meta pour l'encodage est identique a l'encodage dans firefox.


https://dediouest.no-ip.org/wiki

Hors ligne

#4 Le 04/09/2008, à 14:16

Maelikk

Re : Charset : apache n'en fait qu'à sa tête !

Merci à vous deux de vous pencher sur mon problème !

@Ad_Vitam : l'encodage déclaré par le biais de la balise meta est iso-8859-1, l'encodage réel de ces pages est bien iso-8859-1, et pourtant apache envoie un charset utf-8 dans l'entête http. Et puisque firefox se sert en priorité de l'information envoyée dans l'entête, j'ai le droit aux fameux "?" enlosangés en lieu et place des caractères accentués !

@angel2005 : Depuis le début de mes recherches, c'est la première fois que j'entends parler de "locales", donc petit espoir ! Pourrais tu m'en dire un peu plus s'il te plaît, je ne sais pas comment faire smile

Hors ligne

#5 Le 04/09/2008, à 14:23

angel2005

Re : Charset : apache n'en fait qu'à sa tête !

bon alors, tu declare dans apache utf-8 et tes pages avec un autre chartset. c'est soit l'un soit l'autre.
tu peux reconfigurer tes locales comme ceci

dpkg-reconfigure locale

et tu ajoute par exemple tout ce qui est FR-fr sauf l'euro ou sinon uniqument celui la
fr_FR ISO-8859-15
et ensuite lance

locale-gen

ca devrait deja t'aider.

Dernière modification par angel2005 (Le 04/09/2008, à 14:23)


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

#6 Le 08/09/2008, à 08:32

Maelikk

Re : Charset : apache n'en fait qu'à sa tête !

Bonjour angel2005,

Je n'arrive pas à reconfigurer locale, lorsque je rentre ta commande, il m'affiche

Le paquet « locale » n'est pas installé et aucune information n'est disponible.
Utilisez dpkg --info (= dpkg-deb --info) pour examiner les fichiers
archives, et dpkg --contents (= dpkg-deb --contents) pour afficher leur
contenu.
/usr/sbin/dpkg-reconfigure: locale n'est pas installé

Impossible par ailleurs d'installer "locale". Là où je ne comprends plus rien, c'est que la commande locale fonctionne bel et bien, et m'affiche les informations suivantes :

LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

Ça doit faire deux versions de Ubuntu que j'ai mis à jour le système sans procéder à une réinstallation, je me demande si le problème ne vient pas de là.

Si toutefois tu trouves un moyen de me sortir de l'embarras sans passer par la case réinstallation, je suis toujours preneur, c'est une machine de production, et tu connais le refrain, le temps, l'argent, etc. roll

Hors ligne

#7 Le 08/09/2008, à 10:50

angel2005

Re : Charset : apache n'en fait qu'à sa tête !

gksudo  gedit /var/lib/locales/supported.d/local

ajoute fr_FR@ISO-8859-1
ensuite

dpkg-reconfigure locale

la ca devrait t'aider et si ca marche pas

locale-gen

tu te delogue et et relogue.
chez moi ca a marcher.


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