i'm actually getting data from my mysql database in which there is text with accents like
" é è à â ê... "
but when i render it to my ejs file with node.js it shows me
"h�lo" for "hélo"
. The problem is easyli solver with php and the function htmlspecialchars(str);
is there any equivalent for this function in Node ?
Thank you
First of all, if you set your encoding correctly (on the html page and in the database or convert before inserting/after selecting) you shouldn't need to convert special chars to HTML entities to avoid the described behaviour. htmlspecialchars()
should be used to prevent people from posting HTML (converting <
and >
to <
and >
).
If you still need to escape HTML special characters, take a look at this NPM package : https://www.npmjs.com/package/html-entities
Use it like this :
const Entities = require('html-entities').AllHtmlEntities;
const entities = new Entities();
console.log(entities.encode("éèàâê");
will output
éèàâê