Charset UTF-8 - HTML/CSS - Programmation
Marsh Posté le 21-01-2005 à 17:22:10
en gros, comment fait-on pour passer automatiquement une page en UTF-8?
Marsh Posté le 23-01-2005 à 18:49:18
Ta syntaxe est bonne mais il faut que dans ton editeur de page tu changes l'encodage d'ecriture, par exemple avec dreamweaver c'est automatique alors que avec webexpert je dois lui preciser.
Tu as quoi comme editeur pour faire tes pages ?
Marsh Posté le 24-01-2005 à 15:22:07
Merci pour vos réponses.
Spiderkat --> j'utilise Dreamweaver MX comme editeur.
Donc c'est ok non?
FlorentG --> je crois que je l'ai deja fait mais je vais les appeller quand meme pour reconfirmer.
Si je passe en UTF8 en passant par explorer (codage--->utf8) et que ça fonctionne...cé bien que mon hebergeur l'accepte?
Ce qui est quand meme plus qu'etrange :
- Quand je fais afficher la source de la page, il me dit:
charset=UTF-8 |
alors qu'explorer est en occidental, comme s'il zappé completement cette partie du code.
Marsh Posté le 24-01-2005 à 15:38:52
FlorentG --> Le pb c'est que si le serveur envoi en utf-8, la version fr du site par en vrille...
Marsh Posté le 24-01-2005 à 17:09:04
kameha a écrit : Merci pour vos réponses. |
Je viens de faire une page redigee avec dreamveaver sur laquelle j'ai ecris a la fois en francais et en russe.
Voici la page en question http://home.comcast.net/~spiderkat-2/russe.html
Aurais-tu une url pour ta page histoire de voir ce que ca donne ?
Sinon dans dreamweaver, as-tu dans "edition/preferences/nouveau document" change le codage par defaut en UTF-8 ?
Marsh Posté le 24-01-2005 à 17:23:26
Spiderkat a écrit : Je viens de faire une page redigee avec dreamveaver sur laquelle j'ai ecris a la fois en francais et en russe. |
!!!!comment t'as fais ça?
Forcer l'UTF-8...exactement ce qu'il me faut.
Dans les preferences ça consiste juste a ecrire directement charset=UTF-8. Choses que j'ai fait manuellement dans mon doc et qui ne marche pas.
voici le lien
Merci
Marsh Posté le 24-01-2005 à 17:34:30
Effectivement c'est pas genial.
Ta syntaxe :
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> |
et la mienne
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
Sinon autre detail, j'ai l'alphabet russe installe en plus dans mon systeme.
Marsh Posté le 24-01-2005 à 17:51:17
j'ai essayé avec ta syntaxe mais rien ne fait
C'est pas possible comment ça se fait? ça marche sur ta page et pas sur la mienne?
ça vient du coté de mon serveur?
Marsh Posté le 24-01-2005 à 17:53:06
par contre j'avais pas lu ton autre détail...tu as l'alphabet russe installé sur ton systeme, peut etre que ça joue.
Marsh Posté le 24-01-2005 à 17:56:13
kameha a écrit : j'ai essayé avec ta syntaxe mais rien ne fait |
Tu peux toujours copier le code de ma page et le mettre en ligne de ton cote sur ton serveur et ainsi on verra d'ou vient le probleme.
Marsh Posté le 24-01-2005 à 18:15:54
voici le resultat
donc ça marche pas.
Ca s'eclairçit en tout cas.
Ca vient de mon serveur.
Ils ont deja essayé de faire des modifs mais quand ça fonctionne coté russe c'est l'anarchie coté français (certaines syllabes remplacé par des signes chinois). Tu vois d'ou ça pourrait venir?
Peut etre que c'est mon index fr qui est mal foutu (?).
Marsh Posté le 24-01-2005 à 18:22:12
Not Found
The requested URL /temp/russe/test.htm was not found on this server.
Apache/2.0.48 (Unix) DAV/2 Server at www.courchevel.com Port 80
Marsh Posté le 24-01-2005 à 18:23:56
kameha a écrit : (certaines syllabes remplacé par des signes chinois). Tu vois d'ou ça pourrait venir? |
Ça ressemble à une page qui n'est pas en UTF8 ça (genre iso-8859-1), mais qui est lue comme si c'en était
Marsh Posté le 24-01-2005 à 18:56:40
kameha a écrit : voici le resultat |
Et si tu utilises un autre codage comme celui-ci. Peut etre que ton serveur le prendrait.
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> |
Marsh Posté le 24-01-2005 à 20:26:03
J'avais essayé un truc comme ça en fait. Et j'en ai tiré la conclusion suivante :
SI le serveur envoi du utf-8, alors le document sera en utf-8. En fait, la balise <meta ne sert QUE si aucun type mime n'a été envoyé (rare), ou alors c'est utilisé quand on ouvre la page web depuis le disque dur. Donc impossible de truander via une balise meta si le serveur envoi un type MIME...
Marsh Posté le 24-01-2005 à 22:05:31
$ lynx --dump --head http://www.courchevel.com/russe/
HTTP/1.1 200 OK
Date: Mon, 24 Jan 2005 21:03:02 GMT
Server: Apache/2.0.48 (Unix) DAV/2
Connection: close
Content-Type: text/html; charset=ISO-8859-1
Or le charset donné dans les en-têtes a priorité sur le charset déclaré dans les balises <meta> des documents HTML.
Tu dois avoir une directive AddDefaultCharset qui n'est pas à "off" dans la config d'Apache.
Marsh Posté le 25-01-2005 à 09:10:38
FlorentG a écrit : SI le serveur envoi du utf-8, alors le document sera en utf-8. En fait, la balise <meta ne sert QUE si aucun type mime n'a été envoyé (rare), ou alors c'est utilisé quand on ouvre la page web depuis le disque dur. Donc impossible de truander via une balise meta si le serveur envoi un type MIME... |
Il me semblait aussi...mais ça veut dire quoi? que je ne pourrais pas basculer de ISO à UTF-8 pour le russe et le fr?
gm_superstar a écrit : Tu dois avoir une directive AddDefaultCharset qui n'est pas à "off" dans la config d'Apache. |
Peut etre, je vais me renseigner.
Merci
Marsh Posté le 25-01-2005 à 09:14:21
Je pense la meilleure solution est la suivante :
Code :
|
Marsh Posté le 25-01-2005 à 09:25:01
J'veux dire sur les pages russes, tu rajoutes ce petit PHP tout au début de la page, qui sert à envoyer la page en utf-8
Marsh Posté le 25-01-2005 à 09:28:50
cette ligne ne force pas le codage de la page affichée. De toute façon elle est deja en utf-8 dans le charset.
Il y a vraiment un pb coté serveur.
Merci quand meme
Marsh Posté le 25-01-2005 à 09:37:42
Ben si ... Cette ligne envoi la page en utf-8, donc le navigateur va la parser en utf-8...
Marsh Posté le 26-01-2005 à 15:49:56
gm_superstar a écrit : Tu dois avoir une directive AddDefaultCharset qui n'est pas à "off" dans la config d'Apache. |
c'etait ça merci Super
...et tout les autres
Marsh Posté le 17-02-2005 à 19:24:20
Bonjour tout le monde !
J'ai exactement ce problème.
Enfin, avec internet explorer, le site s'affiche correctement en russe, utf-8.
Avec firefox, bien que la page soit codée comme il faut (xhtml 1.0 strict valide), le site est toujours affiché en charset européen. Par contre, si manuellement je mets en encodage utf-8 (dans les options d'affichage) là tout roule.
Ca vient du serveur ?
Peut on mettre le AddDefaultCharset à Off avec un .htaccess ? J'ai essayé mais sans succès pour le moment
Je précise que le charset utf-8 est bien indiqué dans les metas et dans la balise <?xml blabla ?>, et tout fonctionne en local.
Marsh Posté le 17-02-2005 à 20:42:19
gihel a écrit : Peut on mettre le AddDefaultCharset à Off avec un .htaccess ? |
A priori, oui http://httpd.apache.org/docs-2.0/m [...] ultcharset
gihel a écrit : J'ai essayé mais sans succès pour le moment |
URL pour tester ?
Marsh Posté le 18-02-2005 à 12:36:07
Visiblement c'était un problème de config du serveur.
J'ai prévenu mon hebergeur qui a arrangé ca en deux temps trois mouvements. Le AddDefaultCharset était surement déjà à Off.
Je vous préviens si j'arrive à connaitre le truc qui clochait.
Un grand merci !
Edit : J'avais des caractères en début de page, seulement visibles en utf-8, qui genaient la detection .
Non, c'est bien un problème de config serveur .
Marsh Posté le 11-05-2005 à 11:49:28
j'avais le même problème avec AddDefaultCharset on, j'ai commenté la ligne et plus de problème
à noter qu'on peux aussi forcer un autre charset par défaut (sur apache 1.3.x) avec la syntaxe :
AddDefaultCharset utf-8
Marsh Posté le 12-05-2005 à 16:56:19
Le probleme de l'UTF-8 est que ça pose probleme pour des serveurs MySQL n'étant pas au delà de la version 4.1...
Et puis ça pose d'autres problemes plus complexes.
Certes, l'utf-8 permet de tout afficher, mais c'est pas forcément le plus rapide et le moins "dangereux". Tel est ton cas d'ailleurs.
Je conseille les normes nationales, c'est plus sur.
Je ne connais pas personnelement la norme Russe, j'ai vu sur la plupart des sites qu'ils utilisent: "charset=windows-1251"
Par contre si tu as un choix de langue, je te conseille de passer le charset en variable et le modifier selon la langue, c'est le plus propre. (et ainsi éviter les caractères spéciaux à foisons, qui ne s'affichent d'ailleurs pas forcément tous correctement selon la norme)
Marsh Posté le 12-05-2005 à 16:58:34
sinon faut désactiver le AddDefaultCharset de apache dans httpd.conf
Marsh Posté le 12-05-2005 à 17:03:13
Reply
Marsh Posté le 21-01-2005 à 16:52:06
Salut,
Je voudrais faire une version RUSSE d'un site et j'ai besoin de passer en codage UTF-8 dans mes pages.
Donc je met
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
mais rien ne fait, quand j'ouvre ma page dans Explorer il est en codage iso. Je n'arrive pas à forcer le choix du codage.
Quelqu'un connait une soluce svp?
Merci
Message édité par kameha le 21-01-2005 à 16:54:10