Итак, я увидел этот поток здесь , в котором говорится о преобразовании не-ASCII-символов в их ближайший эквивалент ASCII. Данное решение:
var str = "Rånades på Skyttis i Ö-vik";
var combining = /[\u0300-\u036F]/g;
console.log(str.normalize('NFKD').replace(combining, ''));
Теперь моя проблема похожа, но не та. Я смотрю на замену специальных символов, таких как Левая двойная кавычка , которая является шестнадцатеричной “
или сущностью “
. Проблема в том, что я не могу использовать шестнадцатеричный код, HTML-сущность или любую форму кодирования. Мне нужно заменить специальные символы, подобные этим, на их ближайший стандартный символ UTF-8, как обычный Двойная кавычка . Причина в том, что конечный продукт входит в строку темы электронного письма, и на некоторых клиентах там не может быть кодировки, поэтому я ищу решение JS.
Это также не может быть прямое отображение, потому что это может быть не кавычка, это может быть любой символ. Как mdash, который должен стать нормальным.