89

特殊文字をWebページにエンコードするにはどうすればよいですか?たとえば、この記号℃が必要です。これは、現在表示されているように、文字をコピーして貼り付けるだけで使用しました。これは、私がチェックしたデスクトップブラウザ、およびiPadとiPhoneで機能しましたが、テストに使用したBlackberryでは何も表示されません。これに対する標準的なベストプラクティスはありますか?

http://www.fileformat.info/info/unicode/char/2103/browsertest.htm

4

7 に答える 7

187

マーティンが示唆するように、それを に置き換え°、また文字セットを utf-8 に設定してみてください。

°C次のようなものが得られます。

摂氏度

于 2012-05-29T11:02:45.940 に答える
38

本当にDEGREECELSIUS文字「℃」を使用する場合は、ドキュメントがUTF-8でエンコードされ、HTTPヘッダーでそのように宣言されていれば、コピーアンドペーストで問題ありません。文字参照を使用する℃ことも同様にうまく機能し、文字エンコードとは独立して機能しますが、ソースははるかに読みにくくなります。

ブラックベリーの問題は、おそらくフォントの問題です。Blackberryのフォントについてはわかりませんが、フォントのレパートリーは限られている可能性があります。HTMLでこれについてできることは何もありませんが、CSSを使用できます@font face

しかし、DEGREECELSIUSを使用する理由はほとんどありません。これは互換性のある文字であり、東アジアの文章で使用されているため、Unicodeに含まれています。Unicode規格は、第15章(497ページのセクション15.2)で明示的に次のように述べています。

「通常の使用では、摂氏U + 2103度ではなく、摂氏「°C」をU+00B0度記号+U+0043ラテン大文字cのシーケンスで表す方が適切です。」</p>

度記号「°」は、エンティティ参照 `°を含むさまざまな方法で入力できますが、通常は、コピーアンドペーストなどで文字として挿入するのが最適です。Windowsでは、Alt0176を使用できます。

警告:一部のブラウザは、スペースが介在していない場合でも、度記号を改行できるものとして扱い、「°」とそれに続く「C」を別々の行に配置する場合があります。これを防ぐにはさまざまな方法があります。簡単で効果的な方法は次のとおり<nobr>42 °C</nobr>です。

于 2012-05-29T13:07:56.083 に答える
7

なぜこれがまだ出てこないのかわかりませんが、摂氏と華氏にそれぞれ&#8451;(℃) または&#8457;(℉) を使用しないのはなぜですか!

于 2015-11-25T04:26:36.510 に答える
4

ヘッダーにメタタグを追加する

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

これにより、使用できる文字数が増えます。

于 2012-05-29T10:54:25.460 に答える
0

Java-JSPを使用している場合、私にとってうまくいったのは、JSPページに以下を貼り付けることです

<%@ page contentType="text/html; charset=UTF-8" %>
于 2020-07-05T18:37:12.137 に答える