winscp fools itself
The problem is even worse.
If I upload an utf-8 file with byte order mark with winscp, and then edit it with winscp, then the internal editor will correctly detect that it's utf-8.
But when I save the changed file, and edit again, then the editor will fail to detect that the file is using utf-8 encoding, because the byte order mark is missing.
So the transfer function removes the mark that is needed by the edit function.
An alternative would be to include a better automatic detection of utf-8, not just looking at the byte order mark. The utf-8 encoding is the only encoding where auto-detection is extremely reliable, so this would be a very good option.
If I upload an utf-8 file with byte order mark with winscp, and then edit it with winscp, then the internal editor will correctly detect that it's utf-8.
But when I save the changed file, and edit again, then the editor will fail to detect that the file is using utf-8 encoding, because the byte order mark is missing.
So the transfer function removes the mark that is needed by the edit function.
An alternative would be to include a better automatic detection of utf-8, not just looking at the byte order mark. The utf-8 encoding is the only encoding where auto-detection is extremely reliable, so this would be a very good option.