Ruby 2.2: PG :: CharacterNotInRepertoire: FEHLER: ungültige Bytefolge für die Kodierung "UTF8"

8

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

gesetzt

SQL-Anweisung:

%Vor%     
Andrew Bezzub 29.12.2014, 04:15
quelle

2 Antworten

5

Sieht so aus, als wäre dies ein bekanntes Problem mit "pg" gem: Ссылка

Es sollte in 0.18 Pre-Release

behoben werden     
Andrew Bezzub 31.12.2014, 21:25
quelle
5

Es 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: Ссылка

    
Fred Guest 29.12.2014 07:57
quelle

Tags und Links