8796 sujets

Développement web côté serveur, CMS

Bonjour,

Après des jours de recherche, je suis arrivé à la conclusion que je dois changer le charset par défaut de mon serveur (ISO-8859-1) car tous mes fichiers sont en utf-8 et cela provoque une erreur d'affichage dans le corps du message des e-mail envoyés avec php mail.

Je précise que :
* j'ai vérifié un par un tous les scripts, ils sont bien tous encodés en UTF-8
* la balise <meta http-equiv="content-type" content="text/html; charset=utf-8" /> est bien à sa place dans le <head>
* j'ai mis header('Content-type: text/html; charset=UTF-8'); sur la page index ( MAIS çA NE CHANGE RIEN)
* j'ai vérifié le type d'encodage des navigateurs ainsi que de Windows Mail.


Mais voilà:

En lisant des tonnes de doc, il semble qu'il faut changer cela sur le serveur par .htaccess ou httpd.conf(?)

Or :

1) il y a déjà un .htaccess sur mon serveur ( il limite l'accès au site aux personnes autorisées) et lorsque que je veux uploader un htaccess contenant AddDefaultCharset utf-8 il me dit qu'il va écraser l'autre ... logique somme toute !

2) Il n'y a pas de dossier httpd.conf sur mon serveur ou alors je n'y ai pas accès.

Je suis sur un serveur mutualisé.

Comment faire pour modifier le charset dans ces conditions ?

Merci @ tous
Modifié par Tropiques (10 May 2012 - 13:56)
Modérateur
Tropiques a écrit :
1) il y a déjà un .htaccess sur mon serveur ( il limite l'accès au site aux personnes autorisées) et lorsque que je veux uploader un htaccess contenant AddDefaultCharset utf-8 il me dit qu'il va écraser l'autre ... logique somme toute !

Heureusement, il existe le retour à la ligne! Hé oui, un .htaccess peut contenir plusieures lignes. Donc tu n'as qu'à ajouter ton instruction en fin du fichier déjà présent…

Après si le fichier présent est auto-généré et que de ce fait cela risque de virer ta modification, il faudra aviser. en attendant tu peux déjà tester si cela fonctionne.

Tropiques a écrit :

2) Il n'y a pas de dossier httpd.conf sur mon serveur ou alors je n'y ai pas accès.

La bonne réponse est la 2! httpd.conf et un fichier de config de tous le serveur, dans lequel on peut tout faire, notamment limiter ce que les utilisateurs pourront configurer dans le htaccess. Aucun hébergement mutualisé ne donne accès à ce fichier Smiley langue
Hello,

J'ai ajouté une ligne AddDefaultCharset UTF-8 au .htaccess, mais aucun résultat.

entretemps j'ai mis un
echo mb_internal_encoding();

sur page et elle me renvoit encore et toujours ISO-8859-1 !!!

C'est dingue, quoi qu'on invente, je ne parviens jamais à obtenir le bon affichage dans le corps de l'e-mail