【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

こんにちは。

英語サイトを作成しようとしているのですが、
半角文字はどれまでが特殊文字だか分かりません。

下記のサイトを参考にしようとしましたが、アルファベットまで特殊文字に含まれています。
http://web-dou.com/html/t023b.html

<や、>などはもちろん認識しているのですが他のが分かりません。

どなたか、御教示願えないでしょうか?

以上、よろしくお願い申し上げます。

A 回答 (4件)

#1 です。



HTML上で文字として表示したい場合は <>& をHTMLエンティティ化する必要があり、属性値として指定するなら <>&"' をHTMLエンティティ化する必要があります。

そして、指定した文字コード外の文字を表示したい場合にHTML文字実体参照、HTML文字数値参照が使われます。
UTF-8 文字コードを指定した場合は ISO/IEC 10646(UCS) で規定されている文字は全て使用できるということです。
あなたが指定する文字コードの文字セットを調べ、そこにない文字だけHTML文字実体参照/数値参照を指定してください。

一般に英語圏ならASCII文字を使用しているため、U+00000~U+000FFまでは使用できるはずです。
他の文字については私は知らない為、その時々で調べるか文字参照を使いますね。
&copy; は何となく文字参照を使いたくなりますが…。

# Re: shoshin01さん
    • good
    • 0
この回答へのお礼

再度のご回答ありがとうございます。

丁寧なお言葉でありがとうございます。前が見えてきました。

ありがとうございました。

お礼日時:2014/06/07 21:29

・引用されている表で「数字での表現」の部分で、128 以上の数字が使ってある文字は、「特殊文字」


・それ以外の文字で、「名前での表現」のところに記述がある文字は、「特殊文字」

それ以外は通常の文字と考えれば、安全かと思います。

「数字での表現」の数字が何を表しているかですが、これは、「ISO 10646(いわゆるユニコード)」の文字コードで指定することになっています。

で、この文字コードは、「数字での表現」の、20 - 127 の範囲では、ASCII (いわゆる半角英数字)と、160 - 255 の範囲では ISO/IEC 8859-1 という文字コードと、重なっています。
(※さらに、20 - 127 の範囲は、ASCII とも重なっています)

こういうことで、

・「数字による表現」で、20 - 127 の範囲は、普通の英文字として表現可能
(ただし、「名前での表現」が定められている部分は、HTML の記号と干渉したりするので、「名前で表現」したほうが安全)

・160 - 255 の範囲は、UTF-8(ユニコードの表現形式の一種)や、ISO/IEC 8859-1 という文字コードで書いているのなら、直接入力してもOK.
(ただし、ASCII の半の文字ほどには、一般的に読めるかどうかは?なので、数字で表現した方が安全)

という感じになります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

少し難しいので理解するのが時間かかりそうです。
ありがとうございました。

お礼日時:2014/06/07 21:27

HTMLに特殊文字という規定はありません。



【引用】____________ここから
5.4 表示できない文字
  文書中の全ての文字を有意に レンダリングすることができないユーザエージェント
 もあり得る。 例えば、適切なフォントが得られない場合や、ユーザエージェントの内
 部コードでは表現できない値を持つ文字に出くわした場合などがこれに当たる。
  ・・・【中略】・・・
 ・欠落した文字を数値で表現する場合は、十進ではなく、十六進形式で示す。文字集
  合の規格で十六進形式が使われるからである。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[HTML Document Representation (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
【引用】____________ここから
5.3 文字参照
  ある所与の文字符号化方法が、文書文字集合の全ての文字を表現できるとは限らない。
 こうした符号化を利用する際や、文書中の文字について直接入力できないよう設定され
 ているハードウエアやソフトウエアを使っている場合、著者はSGML文字参照を用いてよ
 い。 文字参照とは、文字符号化方法に依存せずに文書文字集合の全ての文字を示す手法
 である。
  HTMLの文字参照には、次の2つの形式がある。
  ・ 十進または十六進どちらかでの数値文字参照。
  ・ 文字実体参照。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[HTML Document Representation (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
★すべての文字は数値文字参照で示せます。
★ごく一部は、利用しやすい文字実体参照が利用できます。
 ⇒HTML 4の文字実体参照( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
 ⇒HTML4 で使える文字実体参照( http://www.ne.jp/asahi/minazuki/bakera/html/refe … )

ただ、
【引用】____________ここから
5.3.2 文字実体参照
 著者がより直感的に文字の参照を行えるよう、HTMLでは文字実体参照を使えるようになっている。
 ・・・【中略】・・・
 特定の文字をエスケープするために頻繁に用いる4つの文字実体参照を、ここに特記しておく。
 ・「&lt;」は < 記号を表現する。
 ・「&gt;」は > 記号を表現する。
 ・「&amp;」は & 記号を表現する。
 ・「&quot;」は " 記号を表現する。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[HTML Document Representation (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
 この4つについては、ブラウザがHTML上で使用するSGML符号として解釈してしまう危険を避けるために文字実体参照または数値文字参照を使わなければならないもじです。

>英語サイトを作成しようとしているのですが、
 相手の使用しているコンピューターがその文字のフォントを持っているか否かに依存します。
 すべてのコンピューターで可能な文字は、
 ⇒ASCII Punctuation( http://www.unicode.org/charts/PDF/U0000.pdf )

 ですので、文字実体参照が定められている文字を「特殊文字」としても、そのフォントを持っていなければ表示することはできません。ギリシャ文字などは日本語のシステムでは全角で表示されますが、アメリカのシステムでは半角だったりします。
    • good
    • 0
この回答へのお礼

大変長文のご回答、ありがとうございます。

噛み砕いてみようと思います。

お礼日時:2014/06/07 21:26

特殊文字の定義がわかりませんが、数値参照も含めると HTML 5 では全ての文字を参照できます。


http://www.whatwg.org/specs/web-apps/current-wor …

<>&"' はHTML文字実体参照にするとして、他は該当文字コードで指定できない文字をHTML文字実体参照を指定すればいいのではないでしょうか。
# UTF-8 なら ISO/IEC 10646(UCS) 準拠のようです。
# http://std.dkuug.dk/jtc1/sc2/wg2/

# Re: shoshin01さん
    • good
    • 0
この回答へのお礼

think49さん、ご回答ありがとうございます。

私が言いたい特殊文字とは、ブラウザで開いたときにHTMLソースファイル内に”書いた文字をそのまま表示するものではない”という意味です。

↓ソースファイル
<p>1234567890 abc</p>

↓ブラウザの表示
1234567890 abc

説明が下手で申し訳ないのですが、上記のようにならない文字のことを特殊文字と意味します。

# UTF-8 なら ISO/IEC 10646(UCS) 準拠のようです。
上記の点が分かりませんので再度お返事いただけないでしょうか。

お礼日時:2014/06/06 15:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報