3

J'essaye de préparer une page de démo html avec le contenu mélangé anglais et arabe. Fondamentalement, il contient une petite table avec des phrases anglaises sur la gauche, et la traduction arabe sur le côté droit. Comme je ne comprends pas l'arabe, j'ai pris les trois premiers caractères de l'alphabet arabe du Unicode reference.Comment forcer Internet Explorer à utiliser l'encodage donné dans la balise META?

Première tentative, en utilisant les entités de caractères (& # x0627; de & # x0628; & # x062A;): il fonctionne (affichage: & # x0627; & # x0628; & # x062A;).

J'ai essayé d'entrer les caractères arabes directement dans le document. Pour activer cela, j'ai enregistré le document en UTF-8 et ajouté la balise meta pour le type de contenu.

Afficher ce document dans Internet Explorer (7) montre les ordures: ا ö ت

commutation manuelle IE à utiliser UTF-8 (Menu "Affichage -> -> Unicode") rend les caractères IE affiche correclty. Mais dès que le document est rechargé, la poubelle apparaît à nouveau.

<html> 
    <head> 
    <meta content="content-type" content="text/html; charset=utf-8"> 
    </head> 
    <body> 
    <table width="95%" border="1"> 
     <colgroup><col width="50%" /><col width="50%" /></colgroup> 
     <tbody> 
     <tr> 
      <th>English</th><th>Arabic</th> 
     </tr> 
     <tr> 
      <td>Test phrase</td> 
      <td dir="rtl">ا ب ت</td> 
     </tr> 
     </tbody> 
    </table> 
    </body> 
</html> 

Les tests avec Firefox indiquent les bonnes lettres arabes. (Mais l'interprétation de la direction "rtl" est différente: IE montre le texte aligné à droite, Firefox aligné à gauche.)

Des conseils pour convaincre IE d'utiliser l'encodage donné dans le document?

Est-ce un effet des fichiers html stockés localement? Lors de la modification de cette entrée StackOverflow, je remarque

  • les caractères arabes sont rendus comme prévu,
  • l'encodage dans le menu commute automatiquement sur "Unicode (UTF-8)",
  • et la source html ne contient pas la balise meta pour le type de contenu.

Répondre

9

On dirait qu'il y a une petite faute de frappe dans votre balise meta. Il devrait dire:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    ^you had 'content' here, and forgot to close the tag here^

Je n'ai pas IE7 à portée de main, donc je ne peux pas vérifier si c'est la raison. Les deux versions fonctionnent bien sur IE8

+0

Merci beaucoup! J'ai créé la balise meta par copier/coller, mais seulement pour la partie commençant par "Content-Type". – gyrolf

0

Essayez:

Untitled Document

<table width="95%" border="1"> 
    <colgroup><col width="50%" /><col width="50%" /></colgroup> 
    <tbody> 
    <tr> 
     <th>English</th><th>Arabic</th> 
    </tr> 
    <tr> 
     <td>Test phrase</td> 
     <td dir="rtl">ا ب ت</td> 
    </tr> 
    </tbody> 
</table> 

doit être un travail

Questions connexes