Outlook のインポート (Outlook 形式へのエクスポートにリンク) に取り組んでいますが、エンコードに問題があります。LinkedIn の連絡先をエクスポートして取得した Outlook 形式の CSV は、UTF-8 ではありません。のような文字は、呼び出し時に gemñで例外を引き起こします。私が呼び出すとき(最初のコード例を参照)なので、エンコーディングが問題だと思います。これが gem のバグかどうかはわかりませんが、それでもデータをサニタイズするように勧められました。mongoid_searchstr.to_s.mb_chars.normalizemb_chars
File Picker から、コミュニティがサポートする新しい gem を使用して CSV データをアップロードしてみました。3 つのエンコード検出器とトランスコーダーを試しました。
- Python lib の Ruby ポート
chardet- 期待どおりに機能しませんでした
- ポートにはまだ Python コードが含まれていたため、アプリで実行できませんでした
rchardet19宝石- 自信を持って検出
iso-8859されます。.8/1 - Iconv でトランスコードしようとしましたが、「不正な文字」でクラッシュしました
ñ
- 自信を持って検出
Charlock_Holmes宝石- 自信
windows-1252を持って検出33/100 - それが実際のエンコーディングだと思います
rchardetがiso-8859、これはそれに基づいているためです。 - この gem は ICU を使用し、Heroku をサポートするブランチ「bundle-icu」を維持しています。を使用してトランスコードしようとすると
charlock、U_FILE_ACCESS_ERROR「ファイルを開けませんでした」という意味の ICU エラー コードが表示されます。
- 自信
ここで何をすべきか知っている人はいますか?