From: "sora.h" Date: 2009-08-21T16:42:15+09:00 Subject: [ruby-list:46327] Re: [ruby-list:46322 , 46323 ] Re: ファイル名について ソラです。 Rubyのバージョンが1.9以上なら、行頭に #-*- coding: utf-8 -*- などとしてエンコードを指定してみる、 1.9未満(1.8とか)なら$KCODE='u' (utf-8の場合)などとしてもダメですか? 2009/8/21 前川 映一 : > > 前川です。 > > 成瀬さん、池澤さん ありがとうございます。 > > 舌足らずの説明で申し訳ありません。 > > ファイルが、実在しているかどうかの確認を、していたのですが、 > ファイル名に日本語を使用しており、結果が、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となる原因は、文字化けと判断した次第です。 -- ソラ sora134@gmail.com Blog: http://codnote.net/ Twitter: http://twitter.com/sora_h Skype: sora_harakami