Error with special character in filename/path

Hi! I’m running into an issue where Syncthing will report a “failed item” due to special characters in the filename. The path it reports is as follows:

SharedMaps\CustomLevels\43d05 (APT. - Lalahti, Danny) (1)\ROSÉ & Bruno Mars - APT_ (Official Music Video).mp4

The error displayed is “normalizing path: item has UTF8 encoding conflict with another item”.

When I go to that path, I somehow see two files with the “same name”; perhaps it’s the non-normalized file and the normalized file, and Syncthing is complaining that it can’t normalize the non-normalized file because then we’ll actually have two files with the same file name?

image

Finally, how can I prevent this from re-occurring in the future? It only happens for this one specific video file, probably because of the in the filename.

EDIT: sorry, forgot to mention! I am running Syncthing v2.0.10, Windows (64-bit Intel/AMD), on Windows 11 Pro. Other sync devices are running various Linux distributions and they are not encountering this problem.

I strongly suspect that it’s the ampersand, not the accented E.

For Windows: Don’t do that. In other words, rename the file to not contain an ampersand.

1 Like

Unfortunately this is not possible because the game looks for that specific filename (this folder is the map data folder managed by the game). Is there a way to instruct Syncthing to not normalize this specific file?

I guess I could also ignore this file and manually copy it over, but I was hoping there was a better method.

It’s not about the characters, it’s about the encoding and there already being two files with the same ”name” but different encoding.

1 Like

So does that mean one file has a UTF-8 name and one file has, perhaps, UTF-16? Is there a way to instruct Syncthing to ignore encodings like permissions and not normalize?

This is the problem (straight from Google):

The Unicode character for “é” (lowercase e with acute accent) has the code point U+00E9. Another way to represent “é” is through a “decomposed” form: the letter ‘e’ (U+0065) followed by the combining acute accent U+0301.

I don’t know what tools Windows offers you to tell the difference and find the “correctly” encoded file. It might give trouble for your “game” to find the file when you change the encoding, as it might be looking for a specific byte sequence.

1 Like