Я сравниваю строки и должен заменить умляуты в JS, но, похоже, JS не распознает умлауты в строках. Текст поступает из базы данных, а в браузере умляуты прекрасно показывают.
function replaceUmlauts(string)
{
value = string.toLowerCase();
value = value.replace(/ä/g, 'ae');
value = value.replace(/ö/g, 'oe');
value = value.replace(/ü/g, 'ue');
return value;
}
В качестве шаблонов поиска я попытался:
- "ä", "ö", "ü"
- /ä/,/ö/,/ü/
- "
ä
", "ö
", "ü
" (полное отчаяние; -))
Чтобы быть уверенным, что это не вопрос с функцией замены, я попробовал indexOf:
console.log(value.indexOf('ä'));
Но вывод со всеми шаблонами: -1
Итак, я думаю, что это какая-то проблема с кодировкой, но, как я сказал на странице, умлауты просто выглядят нормально.
Любые идеи? Это кажется таким простым...
EDIT: Даже если я нашел свой ответ, проблема не была решена "в корне" (кодировка). Это моя кодировка страницы:
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
В базе данных есть: utf8_general_ci
Казалось бы, все в порядке.