rails:3820
From: dezawa <dezawa@a...>
Date: Sat, 22 Sep 2012 16:53:16 +0900
Subject: [rails:3820] sjisかeucかutf-8か分からないファイルの扱い
出沢 @ Rails3.2 移行勉強中です Rails2.3→3.2 というより ruby1.8→1.9 問題なのですが Railsならではの解もあるかも、とこちらにpostします。 CSVを取り込んで処理するactionがあります。 Windowsな人は(多分) shift-jis、unixな人はeucかutf-8で 書いてきます。 ruby1.8 on Rails2.3 のときは NKF.nkf("-w",File.read(csvfile)) で済ませていたのですが、ruby1.9 on Rails3.2で困りました。 codingが分かって居れば IOで :external_encoding を指定すれば よいのですが、読んでみないと分からない。 # 読んでも、判定できる標準のmethodはないみたいですね? String#encode で変換後encoingを指定しても元encodeingを 明示しないと期待通りには変換されない。 こういう場合どうなさっていますか? いまはしかたなく NKF を使うままでいます。 # 不思議な事に、shift-jis のファイルを default_externalで # 読んでしまっても、NKF.nkf("-w",File.read(csvfile))で通る!? -- ML: rails@r... 使い方: http://QuickML.com/
-> 3820 2012-09-22 09:53 [dezawa@a... ] sjisかeucかutf-8か分からないファイルの扱い 3821 2012-09-22 12:42 ┗[masaki@h... ] 3822 2012-09-22 13:04 ┗[dezawa@a... ]