CNode

cheerio html 方法中文字体被转换问题,求教

问答
Llcyangily发布于12 年前最后回复7 年前11 回复21004 浏览0 收藏

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)

L
lcyangily#1·12 年前
引用 skipifycheerio本身默认是转实体的 cheerio.load(html,{decodeEntities: false}); 加个参数

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

A
aquarius001#2·12 年前

@lcyangily@skipify ok,搞定了

Z
zeroone001#3·7 年前

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

J
jx-zhou#4·12 年前

编码的问题吧?

A
aquarius001#5·12 年前

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

L
lcyangily#6·12 年前

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

var he = require('he');
he.decode(str);
S
skipify#8·12 年前

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

C
cucygh#11·10 年前

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

参与回复
登录后即可参与回复。登录