gpt4 book ai didi

ruby-on-rails - 编码::UndefinedConversionError "\xE7"从 ASCII-8BIT 到 UTF-8

转载 作者:行者123 更新时间:2023-12-03 09:09:36 28 4
gpt4 key购买 nike

我正在开发一个 Rails API 项目。这是我的代码片段

class PeopleController < ApplicationController
respond_to :json

def index
respond_with Person.all
end
end

当我访问网址localhost:3000/people.json

Encoding::UndefinedConversionError at /people.json
"\xE7" from ASCII-8BIT to UTF-8

自上周以来我一直在努力解决这个问题,但仍在努力解决这个问题。我在 stackoverflow 上发现了一堆类似的问题,例如 this & this但没有一个解决方案对我有用。

这是我的配置。

Rails 4.2.7.1

ruby-2.3.1

操作系统:macOS Sierra

区域设置的输出

LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=

内容 ~/.bash_profile

export LC_CTYPE="utf-8"
export LC_CTYPE=en_US.UTF-8
export LANG=en_US.UTF-8
unset LC_ALL

输出 Encoding.default_external

 #<Encoding:UTF-8> 

最佳答案

我已经多次遇到这个问题,所以我通常会尝试在将其保存到数据库之前删除任何对 UTF-8 无效的字符。如果您将记录保存为String,您可以替换无效字符,如下所示:

string = "This contains an invalid character \xE7"
string.encode('UTF-8', invalid: :replace, undef: :replace)
#=> "This contains an invalid character �"

这是在将其转换为 JSON 对象之前的 ofc。

关于ruby-on-rails - 编码::UndefinedConversionError "\xE7"从 ASCII-8BIT 到 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43779126/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com