Сравнение строк Javascript завершается ошибкой при сравнении символов Юникода

Я хочу сравнить две одинаковые строки в JavaScript, но оператор равенства ==возвращает false. Одна строка содержит специальный символ (например, датский å).

Код JavaScript:

var filenameFromJS = "Designhåndbog.pdf";
var filenameFromServer = "Designhåndbog.pdf";

print(filenameFromJS == filenameFromServer); // This prints false why?

Решение Что сработало для меня, так это нормализация юникода, как указал Слевитан.

Я разветвил свой оригинальный jsfiddle, чтобы сделать версию с использованием библиотеки нормализации, предложенной slevithan. Ссылка: http://jsfiddle.net/GWZ8j/1/.

12
задан Eric Leschinski 29 October 2013 в 03:11
поделиться