[前][次][番号順一覧][スレッド一覧]

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...         ]