web-dev-qa-db-ja.com

HTMLでドイツ語の文字を適切に表示するにはどうすればよいですか?

ページにドイツ語の文字が含まれており、HTMLタグの間にテキストを入力しましたが、ブラウザーでは一部の文字が異なって表示されます。ドイツ語の文字を適切に表示するには、HTMLに何かを含める必要がありますか?

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

残念ながら、ほとんどのプログラマーでさえ正しく理解していないものについて、基本的な説明が必要なようです。

HTMLページなどのファイルは、バイトシーケンスとしてインターネット経由で保存および送信されますが、文字として表示する必要があります。バイトを文字に変換するには、 文字エンコード と呼ばれる一連のルールが必要です。残念ながら、さまざまな言語を処理するために歴史的に登場したさまざまな文字エンコーディングがあります。それらのほとんどはアメリカの [〜#〜] ascii [〜#〜] エンコードに基づいていますが、ASCIIなどの外の文字があるとすぐに- ドイツ語のウムラウト 、使用するエンコーディングについては十分に注意する必要があります。

問題の原因は、HTMLファイルを正しくデコードするために、ブラウザーが使用するエンコードを知る必要があることです。いくつかの方法でそう言うことができます:

したがって、エンコーディングを1つ選択し、そのエンコーディングを使用してHTMLファイルを保存し、上記の少なくとも1つの方法でエンコーディングを宣言する必要があります(また、複数使用する場合は、それらが同意することを確認してください)。使用するエンコーディングについては、ドイツ人は通常 ISO/IEC 8859-15 を使用しますが、 TF-8 は、任意の種類の非ASCII文字を次の場所で処理できる優れた代替手段です。同じ時間。

63

UTF-8はあなたの友達です。

試して

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

ウェブサーバーがヘッダーで送信するエンコードを確認します。

PHPを使用する場合、この方法で独自のヘッダーを送信できます(他の出力の前にこれを配置する必要があります)。

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

また、ドキュメントをUTF-8で保存したことを再確認してください。

29
Karsten

ブログ投稿で解決策を試してくださいドイツ語文字エンコードの問題(2012-05-10):

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

やってみました &uuml;(ü)および&Uuml;(Ü)?

他の文字を入力する方法を見つけることができます こちら

4
Göran Lilja

ファイルはWebサーバーが言っているのとは異なる文字エンコードとして保存されるという点で、文字エンコードの問題のように聞こえます。

2
Rowland Shaw

utf8_encode()またはutf8_decode()関数を試してください。これらのいずれかが機能するかどうかを確認してください。

たとえば、<?php echo utf8_encode('ausgefüllt'); ?>

それがうまくいくことを願っています。

2
Hriju

HTMLエンティティ(%uuml;など)の使用は好きではありません。文字セットに何か問題がある場合にのみ必要です。

要するに:

正しい方法は、キャラクターセットを修正することです。

簡単な方法は、エンティティを使用することです。これで問題が発生することはありません。

文字セットエラーの追跡は非常に困難です。問題を確認できるURLを提供していただければ、おそらくどこを見るべきかについての良いヒントを提供できます。

2
myplacedk

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

また、メモ帳などでファイルを保存する場合は、.txtではなくUTF-8で保存するように選択します。

これにより、文字が正常にレンダリングされるはずです。

2
Kieran