[#29190] AIXでのコンパイル (オプションの統一など) — "Yutaka Kanemoto" <kinpoco@...>

金本ともうします。

21 messages 2006/08/06

[#29200] Re: [ruby-cvs:17336] ruby/lib/date: * lib/date/format.rb: specify maximum number of digits to parse — Tadayoshi Funaba <tadf@...>

ふなばです。

9 messages 2006/08/07

[#29252] 1.8.5への最終コミット — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

14 messages 2006/08/10

[#29284] CGI#out で MIMEエンコード文字列がデコードされる — とみたまさひろ <tommy@...>

とみたです。

26 messages 2006/08/17
[#29285] Re: CGI#out で MIMEエンコード文字列がデコードされる — Takahiro Kambe <taca@...> 2006/08/17

In message <20060817182312.adce9ff7.tommy@tmtm.org>

[#29286] Re: CGI#out で MIMEエンコード文字列がデコードされる — とみたまさひろ <tommy@...> 2006/08/17

とみたです。

[#29287] Re: CGI#out で MIMEエンコード文字列がデコードされる — Fujioka <fuj@...> 2006/08/17

藤岡です。

[#29288] Re: CGI#out で MIMEエンコード文字列がデコードされる — Fujioka <fuj@...> 2006/08/17

藤岡です。

[#29290] Re: CGI#out で MIMEエンコード文字列がデコードされる — Yukihiro Matsumoto <matz@...> 2006/08/17

まつもと ゆきひろです

[#29292] Re: CGI#out で MIMEエンコード文字列がデコードされる — Fujioka <fuj@...> 2006/08/17

藤岡です。

[#29291] ruby 1.8.5 preview4 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

21 messages 2006/08/17
[#29314] Re: ruby 1.8.5 preview4 — URABE Shyouhei <root@...> 2006/08/18

卜部です。

[#29319] Re: ruby 1.8.5 preview4 — Yukihiro Matsumoto <matz@...> 2006/08/19

[#29321] Re: ruby 1.8.5 preview4 — URABE Shyouhei <root@...> 2006/08/19

卜部です。

[ruby-dev:29320] Re: CGI#out で MIMEエンコード文字列がデコードされる

From: Fujioka <fuj@...>
Date: 2006-08-19 04:29:11 UTC
List: ruby-dev #29320
藤岡です。

とみたまさひろ wrote:

> input_kcode は CGI#out に渡す文字列の charset で、output_kcode は出力
> される charset でしょうか。そこまで指定するんだったら、自力で NKF (ま
> たは Iconv) を使った方が良いような気がしますが…。
> 
ちょっと議論がずれてしまいますが、
現在、charsetをセットすると出力のみ自動的にエンコードされます。
しかし、CGIからポストされるデータはエンコードされません。
出力がエンコードされるのに入力はエンコードしてくれる機能がないのは
不親切な気がします。出力だけ手作業でtosjisなりtoutf8なりして
エンコードするなら簡単ですが、
入力をエンコードするのはいちいち書かなきゃならないので面倒です。
私はソースをUTF-8かEUCで書いて、出力はSJISという場合が
多々あるのですが、そういう場合はCGIからポストされるとデータが
SJISで来てしまいます。それをひとつひとつエンコードする羽目になります。
一気に変換するメソッドを書けばいいといえばそれまでですが、
それを書くのも面倒です。以下はその煩わしいスクリプトです。

#!/usr/bin/ruby
require 'cgi'
require 'kconv'

cgi=CGI.new("html3")
first_name=cgi['first_name'].toeuc ## <<--ここが煩わしい
family_name=cgi['family_name'].toeuc ## <<--ここが煩わしい
cgi.out("type"=>"text/html","charset"=>"Shift_JIS"){
  cgi.html{
    cgi.body{
      cgi.form("action"=>cgi.script_name){
	"姓:"+
	  cgi.text_field("name"=>"family_name","value"=>family_name)+
	  family_name+cgi.br+
	  "名:"+
	  cgi.text_field("name"=>"first_name","value"=>first_name)+
	  first_name+cgi.br+
	  cgi.submit("value"=>"それ!")
      }
    }
  }
}

>>んで、デフォルトでは漢字コードの自動変換はしないようにする。
>>もしやっちゃうと、互換性の問題が発生しちゃいますけどね。
> 
> 互換性の問題があるような変更は 1.9 で :-)
> 
御意。

In This Thread