第一次提问 谢谢大家了
使用模块fetch ,抓取一个gbk编码的网页,fetch 会自动将结果编码转换成utf8 , 使用console.log(),控制台也显示正常的结果。
因为我要将网页中的一段HTML片段 ,存储到MONGODB数据库。设置字段类型为STRING,用的mongoose模块 。
插入数据库之后 , 从出现汉字的开始到结尾所有字符都被转成了NCR编码格式。
这是从控制台查询的结果
求助,这是啥问题呢?
努力学习中,请各位大神 多多帮助
猜 应该是mongoose模块的 save 方法 在接收参数后处理上的问题?不知道怎么排查 ,谁帮一下
@xiaohudmn save之前console.log的结果是?
@CarlosRen consloe.log 控制台显示汉字没问题
@CarlosRen 不好意思,重新仔细的检查了一下 ,有部分被转码 ,可能是有一些控制字符导致的 我去掉控制字符在试试
@thesadboy 谢谢您,我也发现好像是这个问题,我来看一下cheerio 的文档。有空的话,可以告诉我
@thesadboy 由于自己粗心,惯性思维认为是插入数据库的问题,后来调试出来是cheerio的问题。加了 var $ = cheerio.load(newHtml,{decodeEntities: false}); 一起正常 谢谢大家,以后再问问题一定会更细心 。谢谢大家