PG ::错误:错误:编码“UTF8”的无效字节序列:0xfc
当某些字符串保存到数据库时,我收到以下ActiveRecord错误。
ActiveRecord::StatementInvalid: PG::Error: ERROR: invalid byte sequence for encoding "UTF8": 0xfc
我觉得这个字符串是Mühldorf
。
我已经尝试将# encoding: utf-8
到我的ruby文件的顶部来解决这个问题,但似乎没有做任何事情。
我正在使用Ruby Geocoder提取位置数据,这就是字符串的来源。
我在Heroku上的Postgres数据库上运行Ruby 1.9.3。
小写U-umlaut在ISO 8859-1 (AKA Latin-1)中是0xfc,但0xfc不是有效的UTF-8字符。 问题是你有一个Latin-1字符串,你试图将其视为UTF-8,而PostgreSQL正在抱怨。
修复数据源以向您发送UTF-8,或者,如果它始终向您发送Latin-1,请使用以下内容自行修复编码:
utf_8_string = latin_1_string.force_encoding('iso8859-1').encode('utf-8')
然后使用utf_8_string
版本。
- 在windows上开发,在heroku上运行独角兽
- 无法推送到Heroku(找不到Rake 10.3.2)
- 推送到Heroku时Rails迁移错误w / Postgres
- 如何在Heroku上阻止或过滤IP地址?
- 我可以获取Heroku日志只返回概述错误的行吗?
- Heroku rake db:migrate导致错误R13(附加错误) – >无法附加到进程
- SQLite3和Postgres / Heroku Ruby on Rails查询问题
- ActiveRecord :: StatementInvalid:PG :: ReadOnlySqlTransaction: – 即使在取消关注后,Heroku数据库仍然只读
- 将域重定向到heroku中的域名服务器?