cheerio html 方法中文字体被转换问题,求教
 发布于 11 年前  作者 lcyangily  20731 次预览  最后一次回复是 6 年前  来自 问答 

cheerio 在使用的时候如果包含有中文字体,用html方法中文被转换成未知字体,如果解决,求教:

var $ = cheerio.load("<h1><p>你好</p><em>Hello,World!</em></h1>");
var title = $('h1').text();	//你好Hello,World!
var cnt = $('h1').html();//<p>&#x4F60;&#x597D;</p><em>Hello,World!</em>

使用html 方法中文被转成未知字体

11 回复
jx-zhou

编码的问题吧?

aquarius001

同问,我也遇到这样的问题。最后没办法只能用text方法.

lcyangily

问题解决了,办法入下: 引入he模块,转码

var he = require('he');
he.decode(str);
skipify

cheerio本身默认是转实体的 cheerio.load(html,{decodeEntities: false}); 加个参数

lcyangily

@skipify THK,之前也用了这个参数,没生效,估计单词写错了,又试了下,可以了, VERY THK

JerryC8080

@skipify wow ! it really work!!

cucygh

@skipify 正解,文档中没看有写

zeroone001

搞定了就是这个参数 {decodeEntities: false}