5

複数の言語で丁寧なテキストを表示する静的な HTML ページを作成しています。ウェブサイトのメンテナンスの下でExpression Blend に貼り付けると、そのテキストがコード内で同じように表示されることに気付きました。互換性が悪いので、適切な HTML エンティティに置き換える必要があると思います。

http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/encode.aspxを試しましたが、同じ日本語のテキストが返されます。

  1. ブラウザの互換性の観点から、その日本語を HTML ページのソース コードにそのまま貼り付けることは正しいのでしょうか。
  2. そうでなければ、そのテキストの正しい HTML エンコーディングは何ですか? または、非 ASCII 文字を HTML エンティティに変換するために使用できる、おそらくオンラインで、おそらく無料のツールはありますか?
4

3 に答える 3

2

互換性が悪いので、適切な HTML エンティティに置き換える必要があると思います。

実際にはまったく逆で、html エンティティを使用するのではなく、ドキュメントのエンコーディングを UTF-8 として正しく宣言し、実際の文字を使用することをお勧めします。やむを得ない理由はいくつかありますが、本当の問題は、広くサポートされている標準であるのに、なぜそれを使用しないのかということです。

これらのポイントのいくつかは、以前に要約されています。

UTF-8 エンコーディングは、文字の意味を理解し、入力方法を知っている人にとっては、読みやすく、編集しやすいものです。

UTF-8 エンコーディングは、理解できない人にとっては HTML エンティティ エンコーディングと同じように理解できませんが、10 進または 16 進エンコーディングを理解するのが難しいのではなく、特殊文字としてレンダリングされるという利点があります。

[例] ウィキペディア... 実際に記事を調べて、文字エンティティを対応する実際の文字に変換して、使いやすさと検索性を高めます。

于 2012-09-29T03:12:01.920 に答える
1

httpヘッダーまたはメタタグのいずれかでWebページをUTF-8としてマークしている限り、Webページに外国文字が含まれていても問題はありません。または、JavaScriptのencodeURI/decodeURI関数を使用してこれらの文字列をエンコード/デコードすることもできます

encodeURI('ウェブサイトのメンテナンスの下で')
//returns"%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9%E3%81%AE%E4%B8%8B%E3%81%A7"

decodeURI("%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9%E3%81%AE%E4%B8%8B%E3%81%A7")
//returns ウェブサイトのメンテナンスの下で

一連の静的文字列をUnicode文字に変換するツールを探している場合は、Webページ開発者コンソール(mozilla / firefoxのfirebug)からencodeURI/decodeURI関数を使用するだけで済みます。お役に立てれば!

于 2012-09-29T01:35:21.090 に答える
0

HTML エンティティは、ドキュメントが保存されているエンコーディングでは表現できない文字を表現する必要がある場合にのみ役立ちます。たとえば、ASCII には「€」の表現方法に関する仕様がありません。その文字を ASCII エンコードされた HTML ドキュメントで使用したい場合は、そのままエンコードする€か、まったく使用しないようにする必要があります。

ただし、UTF-8 など、必要なすべての文字を表すことができるドキュメントの文字エンコーディングを使用している場合、HTML エンティティは必要ありません。ドキュメントを正しく解釈できるように、ブラウザがドキュメントのエンコーディングを認識していることを確認する必要があります。ソースコードを読みやすくするだけなので、これは本当に好ましい方法です。単純に実際の文字を操作できるのであれば、HTML エンティティを操作する必要はまったくありません。

詳細については、 http://kunststube.net/frontbackを参照してください。

于 2012-09-29T01:46:47.423 に答える