sql >> Database teknologi >  >> RDS >> PostgreSQL

Rails 3, Heroku:Taps Server Fejl:PGError:ERROR:ugyldig bytesekvens til kodning af UTF8:0xba

numero-tegnet , º , er 0xBA i ISO-8869-1 ikke UTF-8. Så din CSV-fil er kodet med Latin-1, men du forsøger at gemme den i din database som UTF-8 uden at fikse kodningen.

Du kan prøve at fortælle dit CSV-bibliotek, at det beskæftiger sig med Latin-1-kodet tekst, og måske vil det sørge for at konvertere til UTF-8. Hvis det ikke virker, så kan du gøre det selv med Ikonv :

ruby-1.9.2 > Iconv.iconv('UTF-8', 'ISO-8859-1', "\xba")
 => ["º"]
ruby-1.9.2 > Iconv.iconv('UTF-8', 'ISO-8859-1', "\xb0")
 => ["°"]

Du har ikke problemer med SQLite, fordi SQLite har tendens til at være meget tilgivende, og det har et meget løst system. PostgreSQL, OTOH, har en tendens til at være ret streng og klager ordentligt, hvis du forsøger at tilføre den ugyldige data. Jeg vil anbefale, at du holder op med at udvikle oven på SQLite, hvis du skal implementere til Heroku og PostgreSQL, der er andre forskelle, der vil forårsage problemer (f.eks. adfærden hos GROUP BY og LIKE).




  1. Gentag over rækkerne i en anden tabel for at returnere resultatsæt

  2. Kan ikke finde objektet, fordi det ikke eksisterer, eller du ikke har tilladelser. Fejl i SQL Server

  3. Sådan fungerer SQLite Min()

  4. Hvordan starter man MySQL-server fra kommandolinjen på Mac OS Lion?