在我的rails应用程序中,我用Nokogiri打开了一个URL,像这样:
Nokogiri::HTML(open(link), nil, 'utf-8')
虽然相同的代码在Windows机器上工作得很好,但一旦URL包含utf-8字符,它就无法在Linux机器上打开URL。"ß"。
Windows将此ß转换为HTML兼容的%C3%9F,并且URL可以毫无问题地打开。在Linux下,ß被转换为ß,命令失败。
如何对齐编码?这是Ruby的问题还是Linux的问题?我在哪里以及如何解决这个问题?
我使用的是Ruby 1.9.3和Rails 3.2
对URL进行编码可以解决这个问题
方法:ERB::Util#url_encode