It's simple, because some filesystems and OS combinations use system locale dependent encoding for filenames. This means that if you move your files with non-ascii characters between such systems, the filenames change. Or if you use non-unicode aware applications to move the files around, their names get corrupted. This in turn means that calibre will lose track of those files, leading to potential data loss. The only way to prevent that is to use ascii only filenames. Examples of such systems include all linux OSes and all FAT32 filesystems (which are commonly used in removable media and older windows xp installs). And then there is the problem that sometimes the locale dependent encoding is not UTF-8 or UTF-16, which means that not all characters can be represented in it, leading to errors.
When you use save to disk to export files, calibre is creating copies that it no longer keeps track of, therefore it allows non-ascii characters in those filenames, as it can lead to no data loss.
|