Rails 3, überprüfen Sie die Codierung der CSV-Datei vor dem Import

8

In meiner App (Rails 3.0.5, Ruby 1.8.7) habe ich ein Import-Tool zum Importieren von CSV-Daten aus einer Datei erstellt.

Problem: Ich habe meine Benutzer gebeten, die CSV-Datei aus Excel in UTF-8-Codierung zu exportieren, aber sie tun es die meiste Zeit nicht.

Wie kann ich vor dem Import überprüfen, ob die Datei UTF-8 ist? Andernfalls wird der Import ausgeführt, aber es ergeben sich merkwürdige Ergebnisse. Ich verwende FasterCSV zum Importieren.

Beispiel einer schlechten CSV-Datei:

%Vor%

Danke.

    
alex.bour 02.09.2012, 07:07
quelle

2 Antworten

22

Sie können Charlock Holmes verwenden, eine Zeichenerkennungsbibliothek für Ruby.

Ссылка

Um es zu verwenden, lesen Sie einfach die Datei und verwenden Sie die Methode detect .

%Vor%

Sie können die Codierung auch in UTF-8 konvertieren, wenn sie nicht im richtigen Format vorliegt:

%Vor%

Dies erspart es den Benutzern, es selbst zu tun, bevor sie es erneut hochladen.

    
bcd 02.09.2012, 07:37
quelle
6

Für 1.9 ist es offensichtlich, Sie sagen nur, dass es utf8 erwartet und es wird einen Fehler auslösen, wenn es nicht ist:

%Vor%     
pguardiario 02.09.2012 08:16
quelle

Tags und Links