当我使用nokogiri解析html时,中文字符被转换为转义序列,如
" 巅峰延时
"
我如何解码转义字符如"巅峰延时
"回到正常字符?
看起来您的HTML页面被编码为UTF-8,但您正在解析为ISO-8859-1。您需要确保在解析时指定了正确的编码。如果从字符串进行解析,Nokogiri应该使用与字符串相同的编码。如果从IO对象进行解析,可以将编码指定为parse
方法的第三个参数:
Nokogiri::HTML::Document.parse(io_object, nil, 'UTF-8')
正常字符应该是什么?这看起来像它们的字符串表示。
否则你有CGI.unescapeHTML()和CGI.escapeHTML()可在标准ruby (stdlib)。