I am looking for way in JavaScript
to convert non-ASCII
characters in a string to their closest equivalent, similarly to what the PHP
iconv
function does. For instance if the input string is Rånades på Skyttis i Ö-vik
, it should be converted to Ranades pa skyttis i o-vik
. I had a look at phpjs
but iconv
isn't included.
Is it possible to perform such conversion in JavaScript, if so how?
The easiest way I've found:
var str = "Rånades på Skyttis i Ö-vik";
var combining = /[\u0300-\u036F]/g;
console.log(str.normalize('NFKD').replace(combining, ''));
For reference see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize