Encodage UTF8 / ISO 8859-1

Fermé
fayard73 Messages postés 1 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 8 septembre 2008 - 8 sept. 2008 à 12:17
 vive la vie - 3 sept. 2013 à 11:43
Bonjour,

Je viens de développer mon site, et au moment de mettre en ligne, je me suis aperçu que le serveur de prod (en UTF8) n'était pas encodé comme le serveur de dev (ISO 8859-1).

Le résumé précis de la situation :
- Le serveur de prod est paramétré pour recevoir des pages en UTF8

- Les pages du site ont été saisies en ISO 8859-1, puis modifiées par un recherché/remplacé en UTF8 et sont donc en ligne en UTF8. Mais beaucoup de texte a été mal encodé et ne passe pas en UTF8. Du coup, les caractères accentués apparaissent bruts dans le code (é | è, … au lieu de &.eacute | &.egrave …)

- De ce fait, à la lecture dans un navigateur les caractères accentués apparaissent ainsi : � - �

- Lorsque j’ouvre les pages avec DreamWeaver, les caractères accentués disparaissent totalement du code… Donc impossible de faire un rechercher/remplacer.

- Lorsque j’ouvre les pages avec un bloc-notes les caractères accentués apparaissent normalement… Mais impossible de faire un rechercher/remplacer sur plusieurs fichiers de .txt

- DreamWeaver doit donc déceler automatiquement l’encodage et effacer les caractères accentués, non reconnus…

- En sachant d’une part que je n'ai aucune contraintes d’accessibilité pour ce site (uniquement en français, et en ligne que jusqu’en mars) et d’autre part qu’il y a déjà presque 200 pages d’intégrées :
*Est-il possible de changer le charset du serveur de prod en ISO 88859-1 ?? Si oui, est-ce que cela rétablira la lecture sans modification du code ??
*Existe-t-il une solution avec paramétrage de DreamWeaver pour réaliser de manière automatique les rechercher/remplacer nécessaires ??

Merci bcp pour votre aide !
A voir également:

3 réponses

Salut,

J'ai moi même eu un problème dans le même genre : Sur une page encodée en ISO 8859-1, certains caractères accentués s'affichaient mal et d'autres correctement. En ouvrant le fichier source dans un éditeur de texte (TextMate sur Mac), je ne voyais pas de différence. J'ai donc essayé de copier un caractère qui s'affiche correctement dans le navigateur, et je l'ai collé à la place d'un de ceux qui posaient problème. Et ça fonctionne, apparemment c'est le même caractère mais il n'est pas codé pareil.

J'ai bien noté que ton problème est que tu ne souhaites pas modifier tes 200 fichiers.
Une autre solution consiste en effet à modifier l'encodage côté serveur, voici la manip sur un serveur apache :
Apache

Historiquement apache travail en ISO-8859-1, c'est donc dans cette norme qu'il risque d'envoyer ses entêtes.
L'instruction à modifier dans le httpd.conf ou dans un .htaccess :

AddDefaultCharset UTF-8

Cette instruction est tirée de cette page, qui m'a bien aidée : http://electron-libre.fassnet.net/utf8.php
Tu peux aussi te documenter sur cet excellent site : https://forum.alsacreations.com/topic-17-29978-1-Pre-requis-Notions-de-base-sur-lencodage-des-caracteres.html

Bon courage
2
Merci pour ce lien : http://electron-libre.fassnet.net/utf8.php. L'ajout de AddDefaultCharset UTF-8
était la solution pour moi.

Un scipt .php de NEWS qui affichait des � à la place des accents. Le codage sur mon navigateur affichait par déffaut : UTF-8 et quand je le mettais en ISO-8859-1 c'était parfait. Seulement voilà, j'ai incéré ce code et tout s'affiche correctement.

Merci. Je sait que le problème est résolu mais si quelqu'un ce reconnait dans ma description, mettez AddDefaultCharset UTF-8 dans un .htaccess

Pour les plus novice que moi :
-Vérifier si ce fichier existe déjà avec un client ftp tel que WinSCP par exemple, à la racine du répertoir conserné.
Si il existe vous pouvez modifier le fichiers directement depuis ce client FTP en ajoutant simplemment ce texte à la ligne.

-Si il n'existe pas, créez un fichiers avec un éditeur de texte. Le bloc note Windows par exemple. Collez : AddDefaultCharset UTF-8 à l'interrieur, nommez ensuite le fichier comme il vous plaira puis choisissez de l'enregistrer en UTF-8. Ouvrez vôtre client FTP (WinSCP ou autre) puis glissez ce fichier à la racine du répertoir conserné. Celà fait, renommez le .htaccess.

Salut
2
salut,

pour remplacer du texte par un autre dans plusieurs fichiers en même temps tu peux le faire via notepad++.
0
comment faire avec notepad++
0