当我使用nokogiri解析htmls时,中文字符会转移到转义序列,如
“巅峰延时
”
如何将转发的字符(如“巅峰延时
”)解码回普通字符?
答案 0 :(得分:1)
看起来您的HTML页面编码为UTF-8,但您正在解析为ISO-8859-1。您需要确保在解析时指定正确的编码。如果要从字符串解析,Nokogiri应使用与字符串相同的编码。如果要从IO对象进行解析,可以将编码指定为parse
method的第三个参数:
Nokogiri::HTML::Document.parse(io_object, nil, 'UTF-8')
答案 1 :(得分:0)
普通人物应该怎样?这看起来像是字符串表示。
否则你有标准ruby(stdlib)中提供的CGI.unescapeHTML()和CGI.escapeHTML()。