имя файла dataTransfer содержит "искаженные" символы - PullRequest
0 голосов
/ 25 октября 2018

Редактировать : Если вы знаете правильный термин вместо «искаженный», не стесняйтесь менять его.

Редактировать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 не искажать символы?

Вот изображение из этого вывода:

enter image description here

...