[#29374] nil.to_s — Shugo Maeda <shugo@...>

前田です。

59 messages 2006/09/01
[#29375] Re: nil.to_s — "U.Nakamura" <usa@...> 2006/09/01

こんにちは、なかむら(う)です。

[#29380] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29387] Re: nil.to_s — Shugo Maeda <shugo@...> 2006/09/01

前田です。

[#29390] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29398] Re: nil.to_s — "NARUSE, Yui" <naruse@...> 2006/09/01

成瀬です。

[#29400] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29491] symbol and string — Tanaka Akira <akr@...>

open-uri で :proxy=>nil という指定を行うと、以下のようにエラーになります。

33 messages 2006/09/05
[#29499] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29500] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/05

In article <1157470154.047826.13379.nullmailer@x31.priv.netlab.jp>,

[#29503] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29504] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/06

In article <1157505538.340126.8472.nullmailer@x31.priv.netlab.jp>,

[#29507] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29512] Re: symbol and string — keiju@... (石塚圭樹) 2006/09/06

けいじゅ@いしつかです.

[#29529] Re: symbol and string — SASADA Koichi <ko1@...> 2006/09/08

 ささだです。

[#29530] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/08

まつもと ゆきひろです

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

From: Fujioka <fuj@...>
Date: 2006-09-04 13:11:45 UTC
List: ruby-dev #29469
藤岡です。

> |そもそも1.9のcgi.rbをこれ以上メンテする気があるのかが私には疑問です。
> |捨てるなら今がチャンスという気がします。
> 
> あ、それは賛成かも。
> 
これはcgi.rbを捨てることに賛成なのでしょうか?
たださんも某掲示板での書き込みもそのように捉えているようですが、
cgi.rbをrubyではもうやめてしまうという意味なのでしょうか?
私はcgi.rbを1.9ではフリーズしたいという意味かと思ったのですが。

> |>  * 1.8.x では iso-2022-jp,euc-jp,shift_jis のみ自動変換を行なう(互換維持)。
> |>    ただし、NKF.nkf に -m0 -x をつけるようにする(バグ修正)。
> |>   
> |-m0が付いてないのはバグなんですかね?
> 
> バグでしょう。CVSでは直しておきましょう。
> 
バグですね。

相変わらずですが私の考えとしては、
CGI#outで勝手にエンコードするのをやめて、
メソッドを追加してエンコード出力するという案がいいと思っています。
藤岡案をdiffで添付します。出力をエンコードしたい場合は
set_output_encodingを実行しておく。
一人ぐらい賛成者がいてもいいなぁ。

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

cgi=CGI::new("html3")
header = { "type" => "text/html", "charset" => "Shift_jis" }
cgi.set_output_encoding(CGI::SJIS) # ここで出力のエンコードを指定

cgi.out(header){
  cgi.html("PRETTY"=>"  "){
    cgi.head{
      cgi.title{"こんにちは世界"}+
        cgi.body{
        "こんにちは、世界"
      }
    }
  }
}



--- cgi.rb.org  2006-09-04 21:44:09.553477000 +0900
+++ cgi.rb      2006-09-04 22:04:15.524228482 +0900
@@ -656,6 +656,13 @@

   end # header()

+  EUC="-e"
+  UTF8="-w"
+  SJIS="-s"
+  JIS="-j"
+  def set_output_encoding(encoding)
+    @output_encoding=encoding
+  end

   # Print an HTTP header and body to $DEFAULT_OUTPUT ($>)
   #
@@ -704,20 +711,8 @@
     options = { "type" => options } if options.kind_of?(String)
     content = yield

-    if options.has_key?("charset")
-      require "nkf"
-      case options["charset"]
-      when /iso-2022-jp/ni
-        content = NKF::nkf('-j', content)
-        options["language"] = "ja" unless options.has_key?("language")
-      when /euc-jp/ni
-        content = NKF::nkf('-e', content)
-        options["language"] = "ja" unless options.has_key?("language")
-      when /shift_jis/ni
-        content = NKF::nkf('-s', content)
-        options["language"] = "ja" unless options.has_key?("language")
-      end
-    end
+    require 'nkf'
+    content=NKF.nkf("#{@output_encoding} -m0 -x",content) if
@output_encoding

     options["length"] = content.length.to_s
     output = stdoutput

In This Thread