前川です。

成瀬さん、池澤さん ありがとうございます。

舌足らずの説明で申し訳ありません。

ファイルが、実在しているかどうかの確認を、していたのですが、
ファイル名に日本語を使用しており、結果が、falseとなってしまいます。
ファイルは、実在しているのですが・・・

具体的には、
def line_count( fname )
  a = File.exists?( fname )
  puts "ファイルは" + a.to_s
  if (!File.exists?( fname ))
    return 0
  end
  lines = 0
  open( fname ) {|file|
    while l = file.gets
      lines += 1
    end
  }
  return lines
end

line_number = line_count(
"C:/Apache2.2/htdocs/qmsPotalShip/confirmation/sjisコード表textConversion
用.html" )
puts "行数は、【"+ line_number.to_s + "】"

です。
上記で、  a = File.exists?( fname )

で、falseが帰ってきた次第です。
デバッガで、確認したところ、
fileTest.rb:8:  if (!File.exists?( fname ))
(rdb:1) a
false
(rdb:1) fname
"C:/Apache2.2/htdocs/qmsPotalShip/confirmation/\"sjis\203R\201[\203h\225\textConversion\227p\".html"

となっていました。よって、falseとなる原因は、文字化けと判断した次第です。

池澤さんサンプルの
C:\>ruby -Ks -e "p Dir.glob('*.html')"
を、
File.exists?( fname )
にどのように適用すればよいでしょうか。
よろしくお願いします。

−−−−−−−−−−−−−−−−−−−−−
成瀬さん、ありがとうございます。
>成瀬です。

>今回はちゃんと新規になっていますね。

よかったです。多少、不安がありました。

>2009/08/21 12:00, 前川 映一 wrote:
>> 初歩的な質問で、恥ずかしいのですが、
>> ファイル名に日本語(漢字・カタカナ・ひらがな)を
>> 使用した場合、文字化けが生じます。
>> どうすれば、いいでしょうか。
>>
>> 
>> sjisコード表textConversion用.html
>> が、
>> sjis\203R\201[\203h\225\textConversion\227p.html
>>
>> となります。

>もうちょっと具体的なコードを書かないとわかりづらいんですが、
>推測するに、
>filename = "sjisコード表textConversion用.html"
>p filename
>って感じでしょうか。

>で、これはp側の話です。
>Ruby 1.8 の Kernel#p は日本語をエスケープして表示するのです。
>対策としては、pでなくputsを使うのが手っ取り早いでしょう。

−−−−−−−−−−−−−−−−−−−−−−−
池澤さん、ありがとうございます。

>Rubyリファレンスマニュアル FAQの「日本語の取り扱い」にいろいろあります。
>http://www.ruby-lang.org/ja/man/html/Ruby_FAQ.html

>以下参考になるかどうか。

>C:\>dir *.html
>2008/02/23  22:49                44 index.html
>2009/08/21  12:26                42 日本語.html

>C:\>ruby -v
>ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32]

>C:\>ruby -e "p Dir.glob('*.html')"
>["index.html", "\223\372\226{\214\352.html"]

>C:\>ruby -Ks -e "p Dir.glob('*.html')"
>["index.html", "日本語.html"]


>On Fri, 21 Aug 2009 12:00:30 +0900
>"前川 映一" <eiichi_maekawa / mhi.co.jp> さんwrites:

>>
>> 前川です。
>>
>> 初歩的な質問で、恥ずかしいのですが、
>> ファイル名に日本語(漢字・カタカナ・ひらがな)を
>> 使用した場合、文字化けが生じます。
>> どうすれば、いいでしょうか。
>>
>> 
>> sjisコード表textConversion用.html
>> が、
>> sjis\203R\201[\203h\225\textConversion\227p.html
>>
>> となります。
>>
>> 過去ログ[45824]を見つけましたが、
>> 日本語はファイル名に使わないようにするしかないのでしょうか?
>>
>> 使用しているRubyは、
>> ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32]です。
>>
>> よろしく、お願いします。
>>
>> 
>>