PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Rails 3, Heroku:Taps Server Error:PGError:ERROR:nieprawidłowa sekwencja bajtów do kodowania UTF8:0xba

znak numeryczny , º , to 0xBA w ISO-8869-1 nie UTF-8. Więc twój plik CSV jest zakodowany w Latin-1, ale próbujesz zapisać go w swojej bazie danych jako UTF-8 bez poprawiania kodowania.

Możesz spróbować powiedzieć swojej bibliotece CSV, że zajmuje się tekstem zakodowanym w języku Latin-1 i może zajmie się konwersją do UTF-8. Jeśli to nie zadziała, możesz zrobić to sam za pomocą Ikona :

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

Nie masz problemów z SQLite, ponieważ SQLite jest bardzo wyrozumiały i ma bardzo luźny system typów. PostgreSQL, OTOH, jest dość surowy i właściwie narzeka, jeśli spróbujesz podać mu nieprawidłowe dane. Zalecam zaprzestanie programowania na SQLite, jeśli zamierzasz wdrażać Heroku i PostgreSQL, istnieją inne różnice, które mogą powodować problemy (na przykład zachowanie GROUP BY i LIKE).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaktualizuj część (numer zamówienia), która jest kluczem podstawowym w Postgresie

  2. Konwertuj nazwę miesiąca na numer miesiąca w PostgreSQL

  3. Jak mogę scalić rekordy w dwóch tablicach JSON?

  4. Czy gwarantowane jest zachowanie porządku w podzapytaniu?

  5. Postgresql zmienia typ kolumny z int na UUID