OK there is a lot of confusion here. So I will clear things up for anyone who may find this thread in the future.
Tixati (and other clients) will replace reserved characters in local file names with an underscore "_". This happens when loading from a .torrent, and when creating a .torrent.
You can read up on what characters are reserved:
https://stackoverflow.com/questions/1976007/what-characters-are-forbidden-in-windows-and-linux-directory-names
https://en.wikipedia.org/wiki/Filename#Reserved_characters_and_words
Basically, it's these:
\ / : ? " < > |
Also, leading dot and some others.
So, if you somehow have files/folder with reserved characters, and make a seed with them, in the .torrent file meta info those names will have underscores replace the bad characters. This is fine, you can still seed those files because the client remembers the original names, even if they are invalid. It is when they are placed into a saved .torrent file AND/OR
reloaded from a .torrent that they are sanitized.
When you take the .torrent file and reload it, no matter what client, even the same one, the clean sanitized names won't match the pre-existing names with invalid characters, so it won't find the original files to hash, and they will be at 0% because the sanitized underscore names do not exist.
The reason you see that it's not happening in your qbittorrent example is because you created the torrent on it and are also seeding on the
exact same client. You didn't clear and re-load from .torrent. Try creating your .torrent on qbittorrent, and then load it into tixati, and the exact same thing will happen.
If you create a .torrent from invalid file names, you won't be able to re-load that .torrent into ANY other client locally (tixati or not) and expect it to find those files with their invalid names for hashing.