Ich aktualisiere die Rails 4.1 App, um Ruby 2.2 zu verwenden. Während des Upgrades stellte sich heraus, dass die App die alte Version von pg gem (0.12) verwendet und Juwel nicht mit Ruby 2.2 installiert wurde. Also habe ich versucht, eine neuere Version von pg gem (0.17.1) zu verwenden. Jetzt bekomme ich manchmal folgenden Fehler, wenn ein neuer Benutzer im System erstellt wird:
PG :: CharacterNotInRepertoire: FEHLER: Ungültige Bytefolge für die Kodierung "UTF8"
Gibt es bekannte Probleme mit Ruby 2.2 und Postgres?
Sieht so aus, als wäre die Anwendung so konfiguriert, dass sie Unicode verwendet: config.encoding = "utf-8"
wird in application.rb und encoding: unicode
in database.yml
SQL-Anweisung:
%Vor%Sieht so aus, als wäre dies ein bekanntes Problem mit "pg" gem: Ссылка
Es sollte in 0.18 Pre-Release
behoben werdenEs gibt definitiv eine Art Bug in Ruby 2.2.0 für UTF-8 mit Postgres. Ich aktualisierte eine vorher fehlerfreie Rails 4.1.5 Anwendung von Ruby 2.1.5 zu Ruby 2.2.0 und fing an, diese Fehler "PG :: CharacterNotInRepertoire: FEHLER: ungültige Bytesequenz für das Kodieren von UTF8" auf Benutzereingangsemailfeldern in Entwicklung und in einer Staging-Umgebung auf Heroku. Ein Downgrade auf Ruby 2.1.5 ohne weitere Änderungen hat das Problem vollständig behoben.
Aktualisierung:
Schlage den Punch bei diesem Update, aber der Bug liegt nicht in Ruby, sondern im pg gem: Ссылка
Tags und Links ruby ruby-on-rails postgresql