トップ «前の日記(2006-11-20 (Mon)) 最新 次の日記(2006-11-22 (Wed))» 編集

uDiary

海野秀之(うんのひでゆき)の外部記憶

Twitter (twilog) / RSS / アンテナ / ぶくま

2006|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|08|
2010|01|02|03|05|06|07|10|11|
2011|03|08|
2012|02|04|07|08|10|
2013|01|02|03|05|06|08|11|12|
2014|01|02|05|06|07|08|09|12|
2015|01|02|03|04|

2006-11-21 (Tue)

HTTP ヘッダなどに表示する charset

最近、ちょっとした CGI を書く機会があって、

 Content-Type: text/html; charset=EUC-JP

とか出力させつつ、ふと、"EUC-JP" ってのは正式な名称なのか、許容されてはいるけど、 本当はあかん書き方だったりするのか、どうなんだろうと思ったり。 (関係ないけど、 「text/html じゃなくて Text/Html と書け」と叱られた遠い昔の記憶もあるのだが……)

Setting the HTTP charset parameter (W3C) によれば、

In theory, any character encoding that has been registered with IANA can be used, but there is no browser that understands all of them.

なんだそうな。 EUC-JP がそこいらのブラウザに受け入れられているらしいのは経験上わかっているのだが、 はて、正式名称はなんだ?

http://www.iana.org/assignments/character-sets をみて、ひっくりかえるはめに。

Name: Extended_UNIX_Code_Packed_Format_for_Japanese
MIBenum: 18
Source: Standardized by OSF, UNIX International, and UNIX Systems
        Laboratories Pacific.  Uses ISO 2022 rules to select
               code set 0: US-ASCII (a single 7-bit byte set)
               code set 1: JIS X0208-1990 (a double 8-bit byte set)
                           restricted to A0-FF in both bytes
               code set 2: Half Width Katakana (a single 7-bit byte set)
                           requiring SS2 as the character prefix
               code set 3: JIS X0212-1990 (a double 7-bit byte set)
                           restricted to A0-FF in both bytes
                           requiring SS3 as the character prefix
Alias: csEUCPkdFmtJapanese
Alias: EUC-JP  (preferred MIME name)

ひでぇ! 'Extended_UNIX_Code_Packed_Format_for_Japanese' なんて、 かえってブラウザに理解してもらえなさそうだ。Shift_JIS が正式名称として登録されて いるのとくらべると、えらい違いですなぁ。

個人的には、まあ、"EUC-JP" でいいだろという結論にいたりました。 日本語の CGI 作ってて使いそうなのは以下のものでしょうか。

  • いわゆる JIS コード: ISO-2022-JP
  • シフト JIS: Shift_JIS
  • EUC-JP: EUC-JP (これだけは、Extended_UNIX_Code_Packed_Format_for_Japanese の別名)
  • UTF-8: UTF-8

Shift_JIS がアンダー・スコア区切りで、 EUC-JP が '-' 区切りなところが妙な味なのは周知の通り。


2006|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|08|
2010|01|02|03|05|06|07|10|11|
2011|03|08|
2012|02|04|07|08|10|
2013|01|02|03|05|06|08|11|12|
2014|01|02|05|06|07|08|09|12|
2015|01|02|03|04|
Categories 3imp | Card | Cutter | Dalvik | Euler | Football | GAE/J | Hand | Haskell | Re:View | Ruby | Scheme | TQD | Tiger | TigerBook読 | UikiTeXi | Verilog | Violin | Web | parconc | tDiary | お勉強 | エントロピー | ツン読 | | 将棋 | 政治について | | 模写してみよう | 確率論 | 設定など | 雑文 | 音声