我在MongoDB中使用Mongoid保存记录时遇到问题,因为它们包含多字节字符.这是字符串:
a="Chris \xA5\xEB\xAE\xDFe\xA5"
Run Code Online (Sandbox Code Playgroud)
我首先将它转换为BINARY然后我gsub就像这样:
a.force_encoding("BINARY").gsub(0xA5.chr,"oo")
Run Code Online (Sandbox Code Playgroud)
......工作正常:
=> "Chris oo\xEB\xAE\xDFeoo"
Run Code Online (Sandbox Code Playgroud)
但似乎我不能使用该chr方法,如果我使用Regexp:
a.force_encoding("BINARY").gsub(/0x....?/.chr,"")
NoMethodError: undefined method `chr' for /0x....?/:Regexp
Run Code Online (Sandbox Code Playgroud)
有同样问题的人吗?
非常感谢...
在主题中:他们是否相互竞争,重叠或相互补充?
谢谢,
佩特罗斯