Ich bin neu bei Rails.Fixtures: Wie kann man utf-8 Zeichen laden und in non utf-8 konvertieren und in die Datenbank speichern?
Ich arbeite an einem Legacy-Code, der Fixtures verwendet, um nicht UTF8-Zeichen aus Yml-Dateien in die Datenbank zu laden.
Mit der neuesten Version der Schiene muss das Yml UTF-8-Kodierung sein, was bedeutet, dass Fixtures, die eingelesen werden, UTF-8-kodiert werden.
Wie konvertiert man die folgenden Codes, so dass es von utf-8 zu non-utf8 konvertieren und in die Datenbank laden wird (natürlich nicht-utf8-Codierung).
class LoadUsersData < ActiveRecord::Migration
def self.up
down
directory = File.join(File.dirname(__FILE__))
Fixtures.create_fixtures(directory, "users")
end
def self.down
User.delete_all
end
end
wo users.yml Daten im utf-8-Format enthält (müssen).
Oder ist es möglich, .txt (kann im Nicht-UTF8-Format sein) und laden mit Fixtures?
Ich verwende oracle_enhanced, und ich habe versucht, "Codierung" zu meiner Datenbank-Codierung in database.yml zu ändern, aber es scheint, dass die Konvertierung nicht automatisch von utf-8 zu meiner Codierung erfolgt (weil die String-Länge unterschiedlich ist für diese beiden Codierungen mit UTF-8 hat mehr Bytes, und die Datenbank gibt zurück, dass user_name ist zu lang Fehler).