如何解决红宝石的兼容性错误



我有一个Ruby程序,它使用许多正则表达式解析一大块文本。我遇到的问题是,每当文本包含"特殊字符"(例如 Kuutõbine 或 Noël(时,程序都会抛出Encoding::CompatibilityError: incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)如何强制正确编码?

您的正则表达式正在"编译"为 ASCII-8BIT。

只需在声明正则表达式的文件顶部添加编码声明:

编码:UTF-8

大功告成。现在,当 Ruby 解析你的代码时,它会假设你使用的每个文字(正则表达式、字符串等(都是用 UTF-8 编码指定的。

最新更新