如何unescape /解码转义的HTML字符?

时间:2014-03-16 06:46:04

标签: ruby nokogiri

当我使用nokogiri解析htmls时,中文字符会转移到转义序列,如

巅峰延时

如何将转发的字符(如“巅峰延时”)解码回普通字符?

2 个答案:

答案 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()。