【发布时间】:2019-09-06 21:35:58
【问题描述】:
我的脚本在这种错误的编码上失败了,即使我将所有文件都转换为 UTF-8,但仍然有一些不会转换或只是里面有错误的字符。
实际上在 var 分配步骤中失败了。
我可以为这种情况设置某种错误处理,如下所示,以便我的循环继续。 ¿ 会导致所有问题。
需要一直运行此脚本而不会出错。已经尝试过encoding 和force_encoding 和shebang 线。 Ruby 是否有任何类型的错误处理路由,以便我可以处理该坏情况并继续执行其余脚本?如何摆脱这个错误invalid multibyte char (UTF-8)
line = '¿USE [Alpha]'
lineOK = ' USE [Alpha] OK line'
>ruby ReadFile_Test.rb
ReadFile_Test.rb:15: invalid multibyte char (UTF-8)
【问题讨论】:
-
运行您的代码不会向我显示任何错误。另外,我不清楚您要归档什么...
-
您是否尝试过强制编码为 UTF-8,例如
line.force_encoding(Encoding::UTF_8) -
另一种选择可能是转换为二进制,然后转换为 ascii,用有意义的字符或空格替换无效字符,甚至 `force_encoding('BINARY').encode('ASCII', :invalid => :替换, :undef => :replace, :replace => ' ')
-
@Christian,你如何管理运行它OK)在什么版本上,有什么诀窍?我在 Windows 上。还有其他人像我一样遇到错误吗?发送
标签: ruby