我遇到了两个错误,都与编码有关,而且它们之间存在联系。
第一个错误(严格来说是警告)出现在启动WEBrick时:
/Users/USERNAME/example/config/initializers/bb-ruby.rb:54: warning: invalid Unicode Property \P: /\:\-?\P/
它所指的那一行代码是:/\:\-?\P/
它只是一个正则表达式的一部分,最终用于这个块:
@@tags['Razzing'] = [
/\:\-?\P/,
'<img src="/assets/emoticons/razzing.png">',
'Razzing',
':P',
:razzing]
然后,当解析一些字符串时(可能是由于相同的行),我也会遇到以下错误...
Encoding::CompatibilityError
incompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string)
我正在运行 Ruby 1.9.2 和 Rails 3.2.1。
\P
是什么意思,但现在它用于匹配 Unicode 代码点,并且需要一个参数(例如\P{L}
,用于匹配任何非字母字符)。请参见:http://www.regular-expressions.info/unicode.html - Fábio Batista(
、[
、{
(及其相应的闭合符号)、^
、$
和\
本身。 - Fábio Batista