我实际上是从我的mysql数据库中获取数据,其中有带重音的文本,比如" é è à â ê... "但是当我用node.js将它呈现给我的ejs文件时,它会显示“h”�lo代表hé“低”. 这个问题是用php和函数实现的easyli解算器 htmlspecialchars(str); 这个函数在node中有等价的吗?谢谢您
htmlspecialchars(str);
qoefvg9y1#
首先,如果您正确地设置了编码(在html页面和数据库中,或者在插入前/选择后转换),您不需要将特殊字符转换为html实体来避免所描述的行为。 htmlspecialchars() 应该用来防止人们发布html(转换 < 以及 > 至 < 以及 > ).如果仍然需要转义html特殊字符,请查看以下npm包:https://www.npmjs.com/package/html-entities像这样使用:
htmlspecialchars()
<
>
<
>
const Entities = require('html-entities').AllHtmlEntities; const entities = new Entities(); console.log(entities.encode("éèàâê");
将输出
éèàâê
1条答案
按热度按时间qoefvg9y1#
首先,如果您正确地设置了编码(在html页面和数据库中,或者在插入前/选择后转换),您不需要将特殊字符转换为html实体来避免所描述的行为。
htmlspecialchars()
应该用来防止人们发布html(转换<
以及>
至<
以及>
).如果仍然需要转义html特殊字符,请查看以下npm包:https://www.npmjs.com/package/html-entities
像这样使用:
将输出