PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Rails 3, Heroku:Докосва грешка на сървъра:PGError:ГРЕШКА:невалидна последователност от байтове за кодиране UTF8:0xba

знак за число , º , е 0xBA в ISO-8869-1 не UTF-8. Така че вашият CSV файл е кодиран с Latin-1, но вие се опитвате да го съхраните във вашата база данни като UTF-8, без да коригирате кодирането.

Можете да опитате да кажете на вашата CSV библиотека, че работи с кодиран текст с Latin-1 и може би тя ще се погрижи за конвертирането в UTF-8. Ако това не работи, тогава можете да го направите сами с Конв. :

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

Нямате проблеми с SQLite, защото SQLite има тенденция да прощава много и има много свободна система от типове. PostgreSQL, OTOH, има тенденция да бъде доста строг и правилно се оплаква, ако се опитате да му подадете невалидни данни. Бих препоръчал да спрете да разработвате върху SQLite, ако възнамерявате да внедрите Heroku и PostgreSQL, има други разлики, които ще причинят проблеми (например поведението на GROUP BY и 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. PostgreSQL:Как да разбера липсващите числа в колона с помощта на generate_series()?

  2. Функция COPY в PostgreSQL

  3. Как да получите текущата дата и час с изместване на часовата зона в PostgreSQL

  4. Json отговор на postgresql преобразуване на дата и час Java postgresql

  5. plpgsql функцията, която връща множество колони, се извиква многократно