Not sure why Windows decides to sort it like that.
But looks like most items are sorted correct and only 1 or 2 are wrong. and that is strange. What is different with them.. are they starting with some "extended" / "special" / "number" character in persian ?
As ice-man said. Without test data I cannot even test to see why it is happening. Because I can't even type those characters
If you create a some of empty .txt file ( "cf <filename>" in the commandline field ) with names like this and pack them with zip and attach it.
Then I can see if I'm able to reproduce it.. make sure UTF8 in enabled in Zip settings, Menu > Configuration > FileSystemPlugins > FSZip (or pack them using 7z, it should support unicode filenames )