Syncrify » Knowledge base

Document information

Document ID: 2087
Subject: Using foreign characters as top level folders
Creation date: 6/15/12 5:23 PM
Last modified on: 10/3/21 2:15 AM

Foreign characters in file names

It is very common to have non-English characters in file names. In most cases Syncrify will work correctly out of the box. However, in certain cases you may have to change a few configuration parameters. Therefore, consider using the following suggestions only if you are running into problems backing up files containing non-English characters.

Handing foreign characters on client side

Syncrify uses XML to store profile information on the client machine. The very first line (prolog) contains encoding for an XML file. If this encoding does not cover the characters used in top-level folders, that folder won't get backed up. Use the following steps to specify a custom encoding.

IMPORTANT These steps only matter if a top-level folder uses foreign characters. No modification is required if deeper files/folders contain foreign characters in their name.

  • Locate SyncrifyClient.lax file in the installation folder. Open this file in any editor, such as Notepad
  • Search for a line starting with:
  • Add -Dprofile.encoding=UTF-8 towards the end of this line. In this example, UTF-8 is the character set used for Hebrew characters. Refer to this page for a complete list of available character sets. If this line does not exist, create a new one. After modification the line should look like:
  • Save the file

  • Specify -Dprofile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 as a command line argument.
  • For example:

    java -Dprofile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 -jar SyncrifyClient.jar

Handing foreign characters on server side

By default Syncrify server inherits the character set from the operating system. Therefore, you should not have to do anything if the operating system is set up correctly. However, if things are not working as expected, try putting the following lines in $INSTALL_DIR\config\ file:

Server running on Linux, Unix and BSD
It is very important that environment variable $LANG is setup correctly on your Linux, Unix and BSD machines. If the value of $LANG is not correctly setup, the OS won't read file names correctly and you will end-up getting error messages in Syncrify.

The value for $LANG gets set when machine boots. However, if Syncrify gets launched before the script that sets $LANG is invoked, Syncrify won't know about this value. Therefore, we recommend you set the value for $LANG in the script that starts up Syncrify. This is done by adding the following line to the launch script.

export LANG="en_US.UTF-8" - bash shell
set LANG="en_US.UTF-8" - C shell

User comments

Posted by Ergoshape on 3/18/19 9:04 AM

Hi together, I am running Syncrify-Server on Linux on Synology DSM6.0. German umlauts could not be written, so I tried all your solutions proposed on this KB-Site. 1.: Setting LANG and LC_ALL to de_DE.UTF-8 (right before executing Server) 2.: Including -Dprofile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 in execution line for server. 3.: Putting sun.jnu.encoding=UTF-8 file.encoding=UTF-8 in Now EVERYTHING works fine for me. No more problems with german umlauts or any special sign, symbol, .... Thank you very very much - Syncrify is simply the best! ;-)

Posted by Mauro on 2/12/16 12:24 PM

Hi. I'm italian, I make a linux server (in en_US). I don't set $LANG but if I run echo $LANG I see en_US.UTF-8. I set on the windows client and the two row on When I try to backup a folder carta identità in the log appear: ...\carta identit? - Cancelled - 0 bytes

Add a comment to this document

Do you have a helpful tip related to this document that you'd like to share with other users?

Important: This area is reserved for useful tips. Therefore, do not post any questions here. Instead, use our public forums to post questions.


Social Media

Powered by