web-dev-qa-db-fra.com

Comment afficher correctement les caractères allemands en HTML?

Mes pages contiennent des caractères allemands et j'ai tapé le texte entre les balises HTML, mais le navigateur affiche certains caractères différemment. Dois-je inclure quoi que ce soit dans HTML pour afficher correctement les caractères allemands?

<label> ausgefüllt </label>
27
venkatachalam

Il semble que vous ayez besoin d'explications de base sur quelque chose que, malheureusement, même la plupart des programmeurs ne comprennent pas correctement.

Des fichiers comme votre page HTML sont enregistrés et transmis sur Internet sous la forme d'une séquence d'octets, mais vous souhaitez qu'ils s'affichent sous forme de caractères. Pour traduire des octets en caractères, vous avez besoin d'un ensemble de règles appelé encodage de caractères . Malheureusement, il existe de nombreux codages de caractères différents qui ont historiquement émergé pour gérer différentes langues. La plupart d'entre eux sont basés sur le codage américain ASCII , mais dès que vous avez des caractères en dehors de ASCII tels que - trémas allemands , vous devez faire très attention à l'encodage que vous utilisez.

La source de votre problème est que pour décoder correctement un fichier HTML, le navigateur doit savoir quel encodage utiliser. Vous pouvez le dire de plusieurs manières:

Vous devez donc choisir un encodage, enregistrer le fichier HTML à l'aide de cet encodage, et assurez-vous de déclarer cet encodage dans au moins une des manières énumérées ci-dessus (et si vous en utilisez plusieurs, assurez-vous qu'ils sont d'accord). Quant au codage à utiliser, les Allemands utilisent généralement ISO/IEC 8859-15 , mais TF-8 est une bonne alternative qui peut gérer tout type de caractères non ASCII à le même temps.

63
Michael Borgwardt

UTF-8 est votre ami.

Essayer

<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">

et vérifiez quel encodage votre serveur Web envoie dans l'en-tête.

Si vous utilisez PHP, vous pouvez envoyer vos propres en-têtes de cette façon (vous devez les mettre avant toute autre sortie):

<?php header('Content-Type: text/html; charset=utf-8'); ?>

Vérifiez également que vous avez enregistré votre document en UTF-8.

29
Karsten

Essayez la solution dans un article de blog problème d'encodage des caractères allemands (2012-05-10):

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
8
tulasidhar

As-tu essayé &uuml; (ü) et &Uuml; (Ü)?

Vous pouvez trouver comment taper d'autres lettres ici .

4
Göran Lilja

Cela ressemble à un problème de codage de caractères, dans la mesure où le fichier est enregistré sous un codage de caractères différent de ce que le serveur Web dit qu'il est.

2
Rowland Shaw

vous pouvez essayer les fonctions utf8_encode () ou utf8_decode (). Vérifiez si l'une de ces fonctions fonctionne.

Par exemple <?php echo utf8_encode('ausgefüllt'); ?>

J'espère que cela fonctionnera.

2
Hriju

Je n'aime pas l'utilisation d'entités HTML (comme% uuml;), elles ne sont nécessaires qu'en cas de problème avec votre jeu de caractères.

En bref:

La bonne façon est de corriger votre jeu de caractères.

La méthode FACILE consiste simplement à utiliser des entités. Vous ne verrez peut-être jamais aucun problème avec cela.

La recherche d'erreurs de jeu de caractères peut être très difficile. Si vous nous donnez une URL où nous pouvons voir le problème, nous pouvons probablement vous donner un bon indice où chercher.

2
myplacedk

Déclarer <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">

et lors de l'enregistrement du fichier, par exemple dans le bloc-notes, choisissez l'enregistrement sous UTF-8 et pas seulement .txt.

Cela devrait rendre les caractères corrects.

2
Kieran