node.js等价物

nkcskrwz  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(293)

我实际上是从我的mysql数据库中获取数据,其中有带重音的文本,比如
" é è à â ê... "
但是当我用node.js将它呈现给我的ejs文件时,它会显示
“h”�lo代表hé“低”
. 这个问题是用php和函数实现的easyli解算器 htmlspecialchars(str); 这个函数在node中有等价的吗?
谢谢您

qoefvg9y

qoefvg9y1#

首先,如果您正确地设置了编码(在html页面和数据库中,或者在插入前/选择后转换),您不需要将特殊字符转换为html实体来避免所描述的行为。 htmlspecialchars() 应该用来防止人们发布html(转换 < 以及 >&lt; 以及 &gt; ).
如果仍然需要转义html特殊字符,请查看以下npm包:https://www.npmjs.com/package/html-entities
像这样使用:

const Entities = require('html-entities').AllHtmlEntities;
const entities = new Entities();

console.log(entities.encode("éèàâê");

将输出

&eacute;&egrave;&agrave;&acirc;&ecirc;

相关问题