0

ユーザーが Web フォームを介して製品を手動でセットアップできる Rails アプリがあります。これは正常に機能し、たとえば「Svölk」などの外国語の文字を適切に受け入れます。

製品を一括インポートする必要があり、FasterCSV を使用しています。通常、これは問題なく機能しますが、CSV に外国語の文字が含まれている場合、その時点で停止します。

最初にファイルが UTF-8 である必要があると考えるのは正しいですか?

また、Ruby 1.8.7 を実行しているので、ICONV がファイルを変換する唯一のソリューションですか? 元のファイルの形式がわからないため、これは問題になる可能性があります。

他の人がこの問題に遭遇したことがありますか? もしそうなら、どのようにそれを克服しましたか?

4

1 に答える 1

1

2 つの選択肢があります。

  • 文字列の実際のエンコーディングを確認するには、ensure_encoding gem を使用します。
  • Ruby を使用して、以下を使用してファイルのエンコードを決定します。

File.open(source_file).read.encoding

文字列に基づいてエンコーディングを検出しようとし、目的のエンコーディング (UTF-8) に変換しようとする最初のアプローチを好みます。その後、FasterCSV オプションでエンコーディングを設定できます。

于 2013-06-19T09:37:37.620 に答える