jlb59 Posté 17 Décembre 2007 Posté 17 Décembre 2007 Bonsoir à tous, Voilà, avant, j'avais mis tout mon site en charset=iso-8859-1. Avec ça, je n'avais aucun prb pour l'affichage de mes textes et liens, tous les caractères accentués "à â é è ê..." s'affichaient bien. J'ai voulu, mal m'en a pris, mettre mon site en UTF-8, ben, maintenant je n'ai plus les caractères cités plus haut. Je sais que la langue anglais n'a pas d'accent (enfin je crois !), aussi, est-il possible de remédier à ce prb sans être obligé de reformater toutes les pages ? Merci de votre réponse. __________________
Jeanluc Posté 17 Décembre 2007 Posté 17 Décembre 2007 Bonsoir, Il faudrait donner un peu plus de détail pour qu'on puisse aider plus précisément. Ton problème pourrait être que tu crées les pages en "iso-8859-1" et que tu demandes aux navigateurs de les afficher en "UTF-8". Si tu sors les données d'une database, il faudrait aussi s'assurer que le format dans la database est le bon. Jean-Luc
jlb59 Posté 17 Décembre 2007 Auteur Posté 17 Décembre 2007 (modifié) Merci JL, mais de quelles précisions parles-tu ? Comme je suis chez Free, mis à part la bdd, je ne sais pas comment c'est ailleurs ! JLB59 Modifié 17 Décembre 2007 par captain_torche Inutile de citer le message précédent; on vient de le lire (captain_torche, modérateur)
MarvinLeRouge Posté 17 Décembre 2007 Posté 17 Décembre 2007 Salut jlb, A priori, ton pb, c'est que tu as une incohérence quelque part dans la chaîne de déclaration d'encodage. Exemple 1 : Tu déclares tes fichiers comme étant utf-8, mais ce n'est pas vrai de leur contenu Exemple 2 : Tes pages sont en iso-8859-1 et ta bdd en utf-8 Exemple 3 : Ta page dit qu'elle est en iso-8859-1, mais le serveur annonce le contraire Bref, s'il y a une incohérence quelque part, tu risques le pb d'affichage. Une des solutions : passer tes pages existantes dans une moulinette qui transforme tous les caractères accentués en leur équivalent entité html. Au besoin, j'en ai fait une pour moi, je peux te le faire.
jlb59 Posté 17 Décembre 2007 Auteur Posté 17 Décembre 2007 Merci MarvinRouge, c'est plausible en effet, mais mes page et ma bdd sont indépendantes. J'explique, mes pages étaient en 8859-1 et ma bdd en UTF-8. Tout allait bien, tout au moins pour la bdd, mais il nb'y a que les pages qui posent prb. J'envisageais aussi de recoder mes pages 1 par 1, mais je voulais savoir s'il y avait une autre solution !!!!
K-Ola Posté 17 Décembre 2007 Posté 17 Décembre 2007 Bonsoir jlb59, plusieurs solutions existent comme te l'a suggéré "MarvinLeRouge", recherche du côté des fonctions htmlentites() ,utf8_encode() et sont inverse utf8_decode() afin de comprendre un peu mieux la raison de cette incompatibilité et de trouver une solution !
baulet Posté 18 Décembre 2007 Posté 18 Décembre 2007 bonjour, il ne suffit pas de modifier ta balise charset pour changer le codepage, il faut enregistrer ton fichier au format du charset. l'avantage de l'UTF-8, c'est que tous les caractères accentués s'y trouvent, ainsi que plein d'autres caractères des autres langues. tu peux donc écrire dans ton code les caractères spéciaux, accentués, sans passer par les entités html. inconvénient, lorsque tu enregistres ton fichier avec le nouveau charset, en l'occurence utf-8, tu vas perdre certains caractères de l'ancien charset, ou retrouver des caractères bizarres dans ton code. lorsque tu travailles avec du html pur, ce n'est pas trop grave, car on peut modifier rapidement les caractères disparus ou défectueux, et ceux ci n'affectent pas le comportement de la page. mais...en php, c'est un gros problème, car les caractères accentués peuvent se situer dans des fonctions, tableaux (réécriture de l'url, par exemple) alors la !!! galère, il faut revérifier tout le code!!! j'utilise dreamweaver pour recoder en utf-8, peut être d'autres éditeurs savent remplacer intelligemment les caractères spéciaux? bon courage en tout cas !!!
Gecko64 Posté 4 Janvier 2008 Posté 4 Janvier 2008 Voilà pourquoi moi je code directement mes pages en UTF-8. J'ai déjà rencontré le souci en prenant des portails tout fait et en les migrant en UTF-8. La belle prise de tête... De plus la tendance chez Linux est de tout mettre en UTF-8 (voir Debian qui y est entièrement passé récamment).
doubleje Posté 4 Janvier 2008 Posté 4 Janvier 2008 En php, c'est un gros problème, car les caractères accentués peuvent se situer dans des fonctions, tableaux (réécriture de l'url, par exemple) alors la !!! galère, il faut revérifier tout le code!!! j'utilise dreamweaver pour recoder en utf-8, peut être d'autres éditeurs savent remplacer intelligemment les caractères spéciaux? Je rejoins ce que tu dis, j'arrive à transformer le codage des pages html simples, mais en PHP avec la base de données, je cherche toujours un outils de convertir de données de iso-8859-1 en UFT-8. Je ne sais point comment j'avais décidé d'utiliser iso-8859-1 :-??
MarvinLeRouge Posté 5 Janvier 2008 Posté 5 Janvier 2008 Si c'est juste les caractères accentués de tes pages qui t'embêtent, tu peux très facilement les transformer avec un petit script qui scanne toutes les pages d'un répertoire donné et qui encodent les caractères accentués de tous les fichiers : c'est ce que j'ai fait et franchement c'est pas sorcier.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant