開発日記: Rails - LANG=ja_JP.UTF-8 で MongrelがレスポンスヘッダのLast-Modified の時と分を漢字で返す
自作のHTTPクライアントでMongrelサーバにアクセスして取得したコンテンツをキャッシュしようとしたら時刻のパースに失敗。
Live HTTP headersで確認すると、Last-Modifiedが文字化け。
DBにある日付データが 2007/02/28 3:00:27 とか入っていて
headers['Last-Modified'] = @hoge.updated_at.gmtime.strftime('%a, %d %b %Y %H:%M:%S GMT')
といった感じで値を入れるコードが、
# => Last-Modified: Wed, 28 Feb 2007 03:00:27 GMT
として欲しいのに、
# => Last-Modified: 水, 28月 2007 03:00:27 GMT
みたいな。。
ネットを検索しても情報が無かったのでログを出して試す。
time = Time.now
p ActiveSupport::CoreExtensions::Time::Conversionsのtime.to_formatted_s(:db)
これは、OK。
p @hoge.updated_at
だと漢字が現れる。更に奥まで探ってコード書き換えてもいいんだけど、
結局、