Folder names w/ "Umlaute": GUI accepts, command line not

Hi all,

please be kind w/ me, I am not a techie only someone who is brave enough to try IT stuff. :wink:

I am using folder names with German “Umlaute” e.g. “ö”, “ü”, etc.
While running a job via the GUI everything runs smoothely (backup & restore).

The same job (exported from the GUI as described in the manual) to backup onto an external SSD via the Duplicati.CommandLine.exe runs into the message “can not find source path” and skips the job.
While prompting to start this job, the command line shows e.g “F:/Jxxxxrgen” w/ the 4 “x” being cryptic characters instead of “F:/Jürgen”.
Other jobs w/o “Umlaute” are running perfectly via the command line. Interestingly they have some sub-folders and file names using these “Umlaute” as well.

Is there any solution which I can use except to rename all respective folders?
Am I right that it has perhaps something to do w/ the old DOS world in which “Umlaute” were somehow “forbidden”?

Thank you in advance for any hint on this!

Best,

Jörn

Welcome to the forum @BIBOKoeln

I had hoped someone who uses such characters would reply with ideas. The theory I have would only turn your character into 2 cryptic ones, and you got 4… Possibly posting them would help somebody?

What’s doing such prompting? I’m not aware of that being a built-in Duplicati thing. Is a script doing it? Further, what’s doing the displaying? Is this in a Command Prompt, a.k.a. cmd.exe, or something else?

Regardless, it seems odd if you’re saying there’s only one job with Umlaute issues. Is this the only one where an Umlaute is in the top-level folder? I know you spoke of others with Umlaute in the subfolders.

Hi @ts678,

thank you for asking.

“Prompting”:
I start a *.bat file via cmd.exe.
While executing the *.bat, it changes the “ö” into “Ͱ” and runs into a problem.

This is the content of the *.bat file:
“C:\Program Files\Duplicati 2\Duplicati.CommandLine.exe” backup “file://F:\Duplicati\30 Börgel\” “D:\OneDrive\30 Börgel\” --backup-name=“30 Börgel - portabel” --dbpath=“C:\Users\MJ267\AppData\Local\Duplicati\DYMJITWSGF.sqlite” --encryption-module=aes --compression-module=zip --dblock-size=50mb --passphrase=MuJ020607 --keep-time=6M --disable-module=console-password-input

Within the cmd.exe window the feedback is then:

c:\windows\system32>“C:\Program Files\Duplicati 2\Duplicati.CommandLine.exe” backup “file://F:\Duplicati\30 BͰÂrgel\” “D:\OneDrive\30 BͰÂrgel\” --backup-name=“30 BͰÂrgel - portabel” --dbpath=“C:\Users\MJ267\AppData\Local\Duplicati\DYMJITWSGF.sqlite” --encryption-module=aes --compression-module=zip --dblock-size=50mb --passphrase=MuJ020607 --keep-time=6M --disable-module=console-password-input
Backup started at 28.04.2020 10:56:59

System.IO.IOException: The source path D:\OneDrive\30 BͰÂrgel\ does not exist, backup will be suspended

Afterwards several information are following I do not understand:
grafik

Similar *.bat files work properly & fine.
The latter contain Umlaute only in sub folders, not in the main folder I want to backup.

Does that help as explantion?

Thanks everybody for your help!

I usually take “prompt” to mean some signal to the user to give input, but I guess this is simply output.
This is good for a start because the output side is clearer to me than the entire situation. Background:

Windows Command-Line: Unicode and UTF-8 Output Text Buffer, which gives some history including:

Short answer: appears so. Long answer is in article above. Current state might still not be settled.

What Windows version is this?

At a Command Prompt, what does chcp command report? I will assume 850 (Multilingual (Latin I)).

Does your text editor give you a choice of how to save? For example, notepad Save As offers the Encoding of ANSI, UTF-8, and several others. This determines how your text turns into data in file.

Code page 850 shows ö as Unicode 00F6 which turns into UTF-8 this way (ignore if you’re lost…):

F6 = 11/110110, showing split between first and second UTF-8 characters which are then used as:

110/00011 10/110110 = 0xC3 0xB6 = (in code page 850) and Â. You might fix display by running

chcp 65001 which sets the Unicode (UTF-8) code page for the current terminal window. That may produce more normal looking announcement of the command being run, BUT it’s not clear why the pathname that Duplicati is seeing is wrong. I see some claims that cmd.exe can choke on Unicode.

It surprises me that Microsoft might still be playing catch-up. Or maybe cmd.exe is getting obsolete. PowerShell reportedly handles Unicode better, but this isn’t an area that I have much experience in.

Windows Terminal which is now available in Beta may handle display better somehow. I don’t know.

Windows has used Unicode internally since Windows NT, however some parts still use code pages.

UTF-8 has become very common on web pages, and I’m pretty sure that’s what Duplicati gave you.

In summary, it might be Unicode internally to UTF-8 to notepad to save as UTF-8 to display wrong in code page 850 (but 65001 might display OK). Question is – did Duplicati get the wrong path as well? After chcp 65001 you will perhaps see whether the .bat file display is better, and what of Duplicati’s?

Running chcp 65001 fixed the issue here. My default code page is different, but it failed before that:

C:\tmp>chcp
Active code page: 437

C:\tmp>type umlaut.bat
"C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\Duplicati.CommandLine.exe" backup "file://C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\RUN\umlaut test\\" "C:\backup source\30 B├╢rgel\\" --backup-name="umlaut test" --dbpath="C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\RUN\QDEKNBKUNT.sqlite" --encryption-module= --compression-module=zip --dblock-size=50mb --no-encryption=true --disable-module=console-password-input
C:\tmp>umlaut.bat

C:\tmp>"C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\Duplicati.CommandLine.exe" backup "file://C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\RUN\umlaut test\\" "C:\backup source\30 B├╢rgel\\" --backup-name="umlaut test" --dbpath="C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\RUN\QDEKNBKUNT.sqlite" --encryption-module= --compression-module=zip --dblock-size=50mb --no-encryption=true --disable-module=console-password-input
Backup started at 4/30/2020 6:17:43 PM

System.IO.IOException: The source folder C:\backup source\30 B├╢rgel\ does not exist, aborting backup
   at Duplicati.Library.Main.Controller.ExpandInputSources(String[] inputsources, IFilter filter)
   at Duplicati.Library.Main.Controller.<>c__DisplayClass14_0.<Backup>b__0(BackupResults result)
   at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Action`1 method)
   at Duplicati.Library.Main.Controller.Backup(String[] inputsources, IFilter filter)
   at Duplicati.CommandLine.Commands.Backup(TextWriter outwriter, Action`1 setup, List`1 args, Dictionary`2 options, IFilter filter)
   at Duplicati.CommandLine.Program.ParseCommandLine(TextWriter outwriter, Action`1 setup, Boolean& verboseErrors, String[] args)
   at Duplicati.CommandLine.Program.RunCommandLine(TextWriter outwriter, TextWriter errwriter, Action`1 setup, String[] args)

C:\tmp>chcp 65001
Active code page: 65001

C:\tmp>type umlaut.bat
"C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\Duplicati.CommandLine.exe" backup "file://C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\RUN\umlaut test\\" "C:\backup source\30 Börgel\\" --backup-name="umlaut test" --dbpath="C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\RUN\QDEKNBKUNT.sqlite" --encryption-module= --compression-module=zip --dblock-size=50mb --no-encryption=true --disable-module=console-password-input
C:\tmp>umlaut.bat

C:\tmp>"C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\Duplicati.CommandLine.exe" backup "file://C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\RUN\umlaut test\\" "C:\backup source\30 Börgel\\" --backup-name="umlaut test" --dbpath="C:\ProgramData\Duplicati\duplicati-2.0.5.1_beta_2020-01-18\RUN\QDEKNBKUNT.sqlite" --encryption-module= --compression-module=zip --dblock-size=50mb --no-encryption=true --disable-module=console-password-input
Backup started at 4/30/2020 6:18:00 PM
Checking remote backup ...
  Listing remote folder ...
Scanning local files ...
  2 files need to be examined (4 bytes)
Checking remote backup ...
  Listing remote folder ...
Verifying remote backup ...
Remote backup verification completed
  Downloading file (723 bytes) ...
  Downloading file (648 bytes) ...
  Downloading file (951 bytes) ...
  Duration of backup: 00:00:02
  Remote files: 3
  Remote size: 2.27 KB
  Total remote quota: 231.42 GB
  Available remote quota: 24.17 GB
  Files added: 0
  Files deleted: 0
  Files changed: 0
  Data uploaded: 0 bytes
  Data downloaded: 2.27 KB
Backup completed successfully!

C:\tmp>
1 Like

Thank you very much, @ts678 !
Adding a “chcp 65001” into a new first row of the *.bat and shifting the Duplicati instruction into the second row solved the issue!
No need to save the *.bat file itself in a different format than before.

Thanks again! :ok_hand:

1 Like