studenter
@studenter
когда я вырасту я стану програмистым!

Почему символы Ё и Й дробятся надвое?

как ввести симвоы Й и Ё в виде цельных юникод-символов?

<span onclick='ввод_символа("й");'>Й</span>        //побуквенный ввод

var слово = редактируемая_строка.textContent;   //введенное слово

 for (var x=0; x< слово.length; x++)       //разбор слова и вывод его побуквенно
                                 {
                                 var буква = document.createElement('span');
                                 буква.textContent = слово[x];
                                 document.appendChild(буква);
                                 };


на уровне js нет проблем
полученное после ввода слово отправляется на php-сервер где из него успешно создается одноименный файл
но после получения имени этого файла жаваскриптом символы ё и й получаются в виде пар символов
  • Вопрос задан
  • 371 просмотр
Решения вопроса 1
@ozzzi
В unicode символ может быть представлен в виде одного или двух символов в зависимости от вида нормализации: habrahabr.ru/post/45489

Можете попробовать использовать метод normalize():
'ё'.normalize('NFC').length == 1 - true

тогда как

'ё'.normalize('NFD').length == 2 - true
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
https://jsfiddle.net/hvh4h9j2/
ничего не подробилось.

Как вариант, еще так https://jsfiddle.net/0r9t1h6o/1/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы