Skip to: Navigation / Content / Sidebar / Footer

CGIモジュールとcharset

Posted at 2004-03-11T17:30:00+09:00 in Coding

PerlでCGIモジュールを利用する時、Content-Typeヘッダにcharsetパラメータを加えるには、headerメソッドで-charset => 'UTF-8'などと指定するわけですが、どうもtext/*なもの以外では無視され、Content-Typeヘッダにcharsetパラメータを加えてくれないみたいです。

要は、

print header(
  -type    => 'application/xml',
  -charset => 'UTF-8',
);

だと、

Content-Type: application/xml

としか出力されないってことです。

blosxom$blog_charsetという文字コードを指定する設定を追加しようとして、ゴニョゴニョやっていた時に気づきました。CGIモジュールのソースでcharsetパラメータを付け加えるコードが、

$type .= "; charset=$charset" if $type ne '' and $type =~ m!^text/! and $type !~ /\bcharset\b/ and $charset ne '';

となってたので、text/*以外では無視というのはどうやら当たっていたみたいです。なので、

print header(
  -type => 'application/xml; charset=UTF-8',
);

こうやってやらないとダメぽ。また一つ賢くなりました。

バッド・ノウハウ!

Recent entries from same category

このエントリと同じカテゴリに投稿された最近10件のエントリです。

  1. jQueryで文字参照に変換
  2. このエントリを含むエントリ
  3. jQueryプラグイン: Highlight Search Terms
  4. 検索語の強調
  5. Amazonの商品個別ページでのwindow.productTagsオブジェクト
  6. jQueryプラグイン: TableFilter
  7. Firefox 3のfilefield要素
  8. Amazon Product Advertising APIの認証をJavaScriptで
  9. nsIFilePicker.appendFilters()
  10. Firefoxの拡張のドロップダウンなツールバー・ボタン

Comments

JavaScriptに対応、または有効な環境の場合、ここにこのエントリへのはてなブックマークコメントが表示されます。