मैं रेल 5 का उपयोग कर रहा रूबी 4.2 के साथ उपयोग करते हुए और एक दस्तावेज है कि मैं Nokogiri के साथ पार्स, पाठ के साथ एक लिंक के लिए एक केस संवेदी तरह से देख स्कैनिंग पाठ के साथ लिंक की तलाश में:"अवैध बाइट क्रम" से बचने के लिए कैसे जब Nokogiri
a_elt = doc ? doc.xpath('//a').detect { |node| /link[[:space:]]+text/i === node.text } : nil
content
में मेरे वेब पेज के HTML मिलने के बाद, मैं का उपयोग कर एक Nokogiri डॉक में पार्स:
doc = Nokogiri::HTML(content)
समस्या है, मैं हो रही है
ArgumentError invalid byte sequence in UTF-8
कुछ वेब पन्नों पर
जब ऊपर नियमित अभिव्यक्ति का उपयोग कर।
2.4.0 :002 > doc.encoding
=> "UTF-8"
2.4.0 :003 > doc.xpath('//a').detect { |node| /individual[[:space:]]+results/i === node.text }
ArgumentError: invalid byte sequence in UTF-8
from (irb):3:in `==='
from (irb):3:in `block in irb_binding'
from /Users/davea/.rvm/gems/[email protected]/gems/nokogiri-1.7.0/lib/nokogiri/xml/node_set.rb:187:in `block in each'
from /Users/davea/.rvm/gems/[email protected]/gems/nokogiri-1.7.0/lib/nokogiri/xml/node_set.rb:186:in `upto'
from /Users/davea/.rvm/gems/[email protected]/gems/nokogiri-1.7.0/lib/nokogiri/xml/node_set.rb:186:in `each'
from (irb):3:in `detect'
from (irb):3
from /Users/davea/.rvm/gems/[email protected]/gems/railties-5.0.1/lib/rails/commands/console.rb:65:in `start'
from /Users/davea/.rvm/gems/[email protected]/gems/railties-5.0.1/lib/rails/commands/console_helper.rb:9:in `start'
from /Users/davea/.rvm/gems/[email protected]/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:78:in `console'
from /Users/davea/.rvm/gems/[email protected]/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
from /Users/davea/.rvm/gems/[email protected]/gems/railties-5.0.1/lib/rails/commands.rb:18:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
वहाँ एक रास्ता मैं ऊपर एन्कोडिंग या अजीब पात्रों के लिए स्वचालित रूप से खाते में और बाहर फ्लिप नहीं पुनर्लेखन कर सकते हैं?
कृपया पढ़ें "[mcve]"। कोड के साथ किसी समस्या के बारे में पूछते समय हमें न्यूनतम कोड और न्यूनतम इनपुट डेटा देखने की आवश्यकता होती है जो समस्या का प्रदर्शन करती है। कोड की आपकी पहली पंक्ति संदिग्ध है और इसका तात्पर्य है कि इससे पहले कोड स्पष्ट रूप से लिखा नहीं गया है, लेकिन, ज़ाहिर है, इसे देखे बिना हम आपकी मदद नहीं कर सकते हैं। इंटरनेट में Wilds इसकी बहुत पृष्ठों सही तरीके से या सफाई से उत्पन्न नहीं कर रहे थे लगता है, अक्सर अक्षर हैं जो ISO-8859-1 या विन-1252 पात्रों में जिसके परिणामस्वरूप Windows मशीनों पर कीपैड का उपयोग कर दर्ज किए गए थे युक्त पाठ में इंजेक्ट किया जा रहा है आम। उनको पार्सिंग से पहले कनवर्ट करें। –