【问题标题】:How do I fix an invalid multibyte character in regex?如何修复正则表达式中的无效多字节字符?
【发布时间】:2013-04-16 19:09:00
【问题描述】:

我有一个正则表达式:

/[!,.!:;\-\?\(\)"\s\n]/

效果很好,但是当我添加时:

«»

对于正则表达式,它会导致错误:

invalid multibyte char (US-ASCII)

怎么了?我该如何解决?

【问题讨论】:

  • 您是在 irb 中还是在 ruby​​ 文件中进行测试? irb 安装可能会出现 unicode 问题:stackoverflow.com/questions/4590725/…
  • 尝试使用 UTF-8 值:« = \xC2\xAB, » = \xC2\xBB
  • pje,它是rails,服务器无法启动并出现此错误

标签: ruby-on-rails ruby regex ascii


【解决方案1】:

在文件的第一行写

#encoding: UTF-8

这是 ruby​​ 1.9 需要的,但不是 1.8 或 2.0

【讨论】:

  • @pguardiario 好吧,是的。否则你需要设置正确的编码。但是恕我直言,除了少数例外,如果你不使用 UTF-8,你应该
  • 可能是这样,但除非文档是 UTF-8 编码的,否则这将是一个问题。
猜你喜欢
  • 2023-03-19
  • 2018-01-03
  • 2012-05-11
  • 1970-01-01
  • 1970-01-01
  • 2021-03-26
  • 1970-01-01
  • 2013-12-02
相关资源
最近更新 更多