Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails PG::错误:错误:编码的字节序列无效;UTF8";:0xfc_Ruby On Rails_Ruby_Postgresql_Heroku_Encoding - Fatal编程技术网

Ruby on rails PG::错误:错误:编码的字节序列无效;UTF8";:0xfc

Ruby on rails PG::错误:错误:编码的字节序列无效;UTF8";:0xfc,ruby-on-rails,ruby,postgresql,heroku,encoding,Ruby On Rails,Ruby,Postgresql,Heroku,Encoding,在将某些字符串保存到数据库时,我遇到以下ActiveRecord错误 ActiveRecord::StatementInvalid: PG::Error: ERROR: invalid byte sequence for encoding "UTF8": 0xfc 我认为这是发生在这个字符串上的Mühldorf 为了解决这个问题,我尝试将#encoding:utf-8添加到ruby文件的顶部,但似乎什么都没做 我正在使用提取位置数据,这就是字符串的来源 我在Heroku上的Postgres数据

在将某些字符串保存到数据库时,我遇到以下ActiveRecord错误

ActiveRecord::StatementInvalid: PG::Error: ERROR: invalid byte sequence for encoding "UTF8": 0xfc
我认为这是发生在这个字符串上的
Mühldorf

为了解决这个问题,我尝试将
#encoding:utf-8
添加到ruby文件的顶部,但似乎什么都没做

我正在使用提取位置数据,这就是字符串的来源


我在Heroku上的Postgres数据库上运行Ruby 1.9.3。

小写U-umlaut是0xfc in(又名拉丁语-1),但0xfc不是有效的UTF-8字符。问题是,您有一个拉丁-1字符串,您正试图将其视为UTF-8,PostgreSQL正在抱怨

请修复数据源以向您发送UTF-8,或者,如果它总是向您发送拉丁语-1,请使用以下内容自行修复编码:

utf_8_string = latin_1_string.force_encoding('iso8859-1').encode('utf-8')

然后使用
utf_8_字符串
版本。

字符串
Mühldorf
是否在源文件中硬编码?如果它来自另一个来源,那么请说在哪里。另一个来源(Ruby Geocoder),刚刚更新了这个问题。经过这么多的努力,我终于找到了这个。多谢各位。