gpt4 book ai didi

ruby-on-rails - 编码未定义的转换错误 - Ruby on Rails,写入错误

转载 作者:数据小太阳 更新时间:2023-10-29 06:44:32 25 4
gpt4 key购买 nike

所以我试图从网站下载一个 zip 文件并将该数据放入一个表中。下载之前一直在工作,但突然之间,它不再是了。我得到一个“‘write’: “\xB6” from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)”的问题。很奇怪,自从我上次运行脚本以来没有任何变化。这是有问题的代码部分。我正在使用一个 gem,它允许我在 zip 文件中解析 DBF 文件。

代码如下:

`write': "\xB6" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)

感谢帮助

更新:显然,我在 rails 内运行。我在 rails 环境之外运行脚本,它运行良好。所以 Rails 以某种方式干扰了写入过程。

更新 2:已解决 - 我将“w”更改为“wb”,显然这是由 rails 3+ 引起的。我之前没有想到要尝试这个。希望这可以帮助其他人。

最佳答案

你可能也可以通过传递来做到这一点

:output_encoding => "binary"

File.open,我认为它会做与模式“wb”相同的事情,也许更清楚。但是很好地找出'wb':)。

是的,在支持 char 编码的 ruby​​ 1.9 中,您经常需要说明有关所需编码的不同内容,包括“空编码”“二进制”。

有可能 Rails 将 Encoding.default_external 设置为 UTF-8,而 File 使用 Encoding.default_external,这可能是为什么 rails 与 not-rails 会有所不同。

ruby 1.9 中的编码问题肯定会很快变得非常困惑,有很多通常隐藏的状态会影响所发生的事情。

关于ruby-on-rails - 编码未定义的转换错误 - Ruby on Rails,写入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11617217/

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