Weblog

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. JSONフィードとか何とか #2
  2. 設定を外部JavaScriptファイルから読み込む
  3. del.icio.usのnetworkをツリー状に展開しまくる
  4. XPIパッケージにまとめるバッチ・スクリプト
  5. Yahoo! Search Web ServicesのJSON(P)を利用したサイト内検索
  6. Google AJAX Search APIのJSONPを利用したサイト内検索
  7. JSONPに同期リクエスト
  8. インバウンド・リンクのリスト
  9. はてなブックマークエントリー情報取得APIははてなスクリーンショットAPI(でもある)
  10. prototype.jsの開発メモとGecko DOM ReferenceのHTMLヘルプ

Comments

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

Weblog archives

by Category

This page was last modified on 2005-10-15T10:14:24+09:00 (in 0.145 secs).