• ベストアンサー

日本語の文章の中に一文字だけ外国語を表示したい

タイトル通りです。 ページ全体を外国語で表示したい場合には、ヘッダー中でその言語を指定すればいいです。では基本的に日本語のページの中で、一文字だけ別の言語の文字を表示させたい場合はどうすれば良いのでしょう? お手数ですが、どなたか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.3

> 既存のソフトでutf-8に対応していないものが多い 今後の為にも、「非ASCII文字を使用する時は常に UTF-8」をお勧めします。 今後、UTF-8 を使う為の苦労は減り、Shift_Jis や EUC-JP を使う為の苦労は増える方向だと思います。 もっとも、E-mailなんかは規格で日本語は ISO-2022-JP(いわゆるJIS) と決まっているので勝手に変えちゃまずいですが。 > shift-JISにはあったのにutf-8には含まれていなかったり SJIS に含まれる文字は、SJIS が本当の Shift_Jis だろうが Windows-31J だろうが UTF-8 にも収録されてる筈です。 Shift_Jis ⇒ UTF-8 変換に使用されたソフトが古いとか不完全とかでは無いでしょうか。 あるいは、Windows-31J(マイクロソフトのSJIS) を業界規格の Shift_Jis として変換たから未定義文字が含まれるのかも。 > そこで中国語へ意訳した単語の後ろにカッコ書きで日本語表示をつけて > 中国語の文章の中にポツポツ出てくる日本語を全部参照で渡すというのもエラく大変ですしね。 文章中に日中混在で実体参照もイヤとなると、使用文字を全て収録する文字コードを選ぶか画像表示するかです。 後者は、実体参照よりさらに面倒なのでダメですね? 本当に、UTF-8 はダメですか? 他に、中国語コードの GBK とか GBK2K とかの文字コードも SJIS の文字を全て含んでると聞いた事があります。 # マイクロソフトが「GB2312」と呼ぶ文字コードは、実は GBK の様です。 業界規格で定義される GB2312 は GBK とは別の物で、日本語文字は含んでいません。 (GB2312 は中国語EUC で、それを拡張したのが GBK。 マイクロソフトは混同をやめて欲しい) 余談ですが、カッコ内の補足、日本語より英語が良かったりしませんか?

makoji
質問者

お礼

utf-8で記述して、utf-8に含まれない記号などが見つかった場合は画像処理するのが一番現実的みたいですね。 ありがとうございました。

その他の回答 (2)

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.2

文字コードを UTF-8 にしましょう。 UTF-8 は、必要になりそうな全ての言語の文字を素のままで使えます。 (Unicodeで定義された文字全てを使用できます) 注意するのは、「その文字をどうやって入力するか」と「その言語のフォントをインストールしておく」の2点です。 フォントは、閲覧者のパソコンにも必要です。 それを避ける為には、画像表示しか無いですね。 Shift_Jis、EUC-JP、ISO-2022-JP と言った文字コードは、あくまでも日本語記述が目的なので含まれる非日本語文字が限られています。 含まれていない文字を表示するにはちょっぴりトリッキーなテクニックが必要になるでしょう。 お勧めできません。

参考URL:
http://ja.wikipedia.org/wiki/Category:Unicode%E8%A1%A8
makoji
質問者

補足

シチュエーションとしては、日本にある韓国人向けのホテルのHPの中国語訳です。元のHPはハングルで記述されています。ハングルでは日本語と同じく横文字言葉をそのまま音訳表記して終わりですが、中国語では意訳します。意訳には意訳の良さがあるのでしょうが、でもよっぽどぴったり来る意訳がなされていない限り、例えばディズニーランドへ行ってアトラクションに乗ろうとしても意訳された単語がどのアトラクションを意味するのかまるで分らないでしょう。そこで中国語へ意訳した単語の後ろにカッコ書きで日本語表示をつけておこうかなと考えたわけです。 一番簡単なのはコードをutf-8で記述する方法ですが、既存のソフトでutf-8に対応していないものが多いので、制作中そして制作後も何かと不便があるのではなかろうかと思ったわけです。それに元のハングルのコードには含まれていた記号などが、中国語のコードやshift-JISにはあったのにutf-8には含まれていなかったりしました。 中国語の文章の中にポツポツ出てくる日本語を全部参照で渡すというのもエラく大変ですしね。 というわけで第三の方法が何かないかと思った次第です。 ご存じの方がいらっしゃったら、お手数ですが教えていただけないでしょうか。

回答No.1

文字を表示させたいなら文字参照や実体参照を使えばいい。 http://www.w3.org/TR/html4/charset.html#h-5.3 そうではなく「英語」であることを明示したいならば, XHTMLを含むXML系の言語にはxml:lang属性 http://www.w3.org/TR/REC-xml/#sec-lang-tag HTML 4.01ならlang属性を使えばいい http://www.w3.org/TR/html401/struct/dirlang.html#adef-lang HTML 5も然り。 http://dev.w3.org/html5/spec/Overview.html#the-lang-and-xml:lang-attributes 「アルファベット」と「英語」は別物です。念のため。

関連するQ&A