If torrent contains filename which contains a character which does not exist at system char set, it will be converted to

_

for example Sakın Bana Söyleme is converted to Sak_n Bana Söyleme.
If torrent contains two different filenames which converts to same filename it may cause unexpected behaviour including sending corrupted pieces to others or neverending torrents.

Reason: fixed width 1 byte long characters are in use which limits usable characters to 256 - 32 = 224 (first 32 characters are not allowed in filenames).

Solution: use bultin 2 byte long characters (wide chars, wchars, unicode characters) and leave one byte long character set for 1980s and 1990s, when Unicode was not implemented yet.

Has this happened to you on an actual torrent or is this a theoretical problem? If the former, please link to the torrent.

We can only create files using the character set that the platform supports. To fix, we will have to convert post-mapping duplicates to a unique name deterministically. It's not so simple as "using 2 byte characters".

These torrents were created and ran with Vuze (at 0.9.16 i2psnark had serveral problems that prevented to create torrents). I2P updated to 0.9.17 and i2psnark torrent creation started to work. I migrated torrents to i2psnark and some of them appeared incomplete. At filelist saw it has missing file named Sak_n Bana Söyleme and rendundant file named Sakın Bana Söyleme.