Редактировать : Если вы знаете правильный термин вместо «искаженный», не стесняйтесь менять его.
Редактировать2 : Когда я загружаюсь с машины WINDOWSэто работает как ожидалось.Но когда я загружаю с моего Mac, он "искажается".Кажется, что символы уже неправильные, когда файл хранится на Mac.
При загрузке файла с символами utf8, в моем случае файл с именем: fileåäö.png
, файл в event.dataTransfer.files[0].name
содержит искаженные( из-за отсутствия лучшего слова ) символов.
fileåäö.png
преобразуется в fileåäö.png
.Они могут показаться одинаковыми, но это не так.
Я создал строку fakeFile: fileåäö.png
, имеющую длину 11. event.dataTransfer.files[0].name
получает длину 14.
Чтобы проверить это: создайте небольшой файл изображения на рабочем столе и назовите его fileåäö.png
и загрузите его в этот JSBin:
https://jsbin.com/nijiqisugo/1/edit?html,js,console,output
Что происходит?Могу ли я заставить event.dataTransfer.files[0].name
не искажать символы?
Вот изображение из этого вывода: