私はこのコードを持っています:
# encoding: utf-8
require 'nokogiri'
s = "<a href='/path/to/file'>Café Verona</a>".encode('UTF-8')
puts "Original string: #{s}"
@doc = Nokogiri::HTML::DocumentFragment.parse(s)
links = @doc.css('a')
only_text = 'Café Verona'.encode('UTF-8')
puts "Replacement text: #{only_text}"
links.first.replace(only_text)
puts @doc.to_html
ただし、出力は次のとおりです。
Original string: <a href='/path/to/file'>Café Verona</a>
Replacement text: Café Verona
Café Verona
@doc
テキストのエンコーディングが間違っているのはなぜですか?
を使ったり使わなかっencode('UTF-8')
たりしてみましDocument
たDocumentFragment
が、同じ問題です。
Ruby 1.9.3p194 で Nokogiri v1.5.6 を使用しています。