Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. ###raw>post.musername###
    Membre à l'essai
    Bonjour,
    Comment afficher correctement les accentués sur la page du navigateur ?

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     var server = http.createServer(function (req, res) { 
            res.write('<meta http-equiv="Content-Type" content="text/html/>');
            res.write('<meta charset="UTF-8">');
            res.write('Vous êtes à l\'accueil, que puis-je pour vous ?');
    ....


    m'affiche "Vous &#65533;tes &#65533; l'accueil, que puis-je pour vous ?"
    En remplaçant utf-8 par Latin-1 j'ai "Vous �tes � l'accueil, que puis-je pour vous ?" ce qui n'est pas mieux.

    Si vous avez une solution je suis preneur. Ça fait des heures que je cherche !
      0  0

  2. #2

  3. #3
    Membre à l'essai
    Cet article est basé sur les technologies Apache, PHP et MySQL, donc aucun des codes suivants ne fonctionne sur un autre type d'environnement.
    De plus l'UTF-8 est correctement inscrit dans le code HTML.
    Je pense que le problème vient plutôt que Node.js envoie autre chose que de l'UTF-8 mais quoi ?

  4. #4
    Modérateur

    Effectivement j'ai lu un peu rapidement
    il te manque un " dans ta ligne :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    res.write('<meta http-equiv="Content-Type" content="text/html/>');

    qui devrait être
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    res.write('<meta http-equiv="Content-Type" content="text/html" />');

    ce qui fait que la ligne suivante est intégrée dans le content donc non prise en compte par le navigateur.

  5. #5
    Membre émérite
    L'ultime garante de propre affichage des caractères de la page de réponse sur des browseurs est de l'accord physique d'encodage des caractères dedans le document (la page html ici) de source et l'allusion émite pour aider l'affichage au bénéfice des consommateurs (browseurs). Les browseurs normalement peuvent avoir des routines pour deviner l'encodage aux cas d'ambigu, mais, c'est faillible.

    Le code nodejs, que sommaire soit-il comme montré, qui émit la réponse peut être proprement affiché si vous le rééditez avec un outil éditeur textuel qui soutient l'encodage utf-8 propre, pas exactement celui d'iso-8859-1 ou d'autres ... Si vous le réécrivez avec nodepad++ ou même SciTE ou bien beaucoup d'autres qui soutient l'encodage utf-8 et re-faites le test, je pense ce serait reglé.