The attached patch fixed it. https://bugs.launchpad.net/subdownloader/+bug/1289949 provided a partial fix. I fixed the last issue in main.py
My test didn't show other regressions but don't hesitate to double check (you should ;) Sylvestre
Index: changelog =================================================================== --- changelog (révision 13414) +++ changelog (copie de travail) @@ -1,3 +1,11 @@ +subdownloader (2.0.18-3) unstable; urgency=medium + + * Fix the locale issues when downloading (Closes: #766316) (LP: #1289949) + Thanks to Beniamin Jalinowski for the patch + Patch updated by Sylvestre Ledru + + -- Sylvestre Ledru <sylves...@debian.org> Mon, 25 Jul 2016 13:56:54 +0200 + subdownloader (2.0.18-2) unstable; urgency=medium * Team upload Index: patches/encoding-issue.diff =================================================================== --- patches/encoding-issue.diff (nonexistent) +++ patches/encoding-issue.diff (copie de travail) @@ -0,0 +1,41 @@ +Index: subdownloader/FileManagement/FileScan.py +=================================================================== +--- subdownloader.orig/FileManagement/FileScan.py ++++ subdownloader/FileManagement/FileScan.py +@@ -52,6 +52,8 @@ def ScanFilesFolders(filepaths,recursive + + """Scanning all the Video and Subtitle files inside a Folder/Recursive Folders""" + def ScanFolder(folderpath,recursively = True,report_progress=None, progress_end=None): ++ if (type(folderpath) is not str): ++ folderpath = folderpath.encode(sys.getfilesystemencoding()) + #Let's reset the progress bar to 0% + log.debug("Scanning Folder %s" % folderpath) + +Index: subdownloader/modules/videofile.py +=================================================================== +--- subdownloader.orig/modules/videofile.py ++++ subdownloader/modules/videofile.py +@@ -25,6 +25,9 @@ class VideoFile(object): + + def __init__(self, filepath): + self._filepath = filepath ++ if (type(filepath) is not str): ++ import sys ++ self._filepath = filepath.encode(sys.getfilesystemencoding()) + self._size = os.path.getsize(filepath) + self._hash = self.calculateOSDBHash() + try: +Index: subdownloader/gui/main.py +=================================================================== +--- subdownloader.orig/gui/main.py ++++ subdownloader/gui/main.py +@@ -1065,7 +1065,8 @@ class Main(QObject, Ui_MainWindow): + + #Check if we have write permissions, otherwise show warning window + while True: +- #If the file and the folder don't have writte access. ++ destinationPath = destinationPath.decode(sys.getfilesystemencoding()) ++ #If the file and the folder don't have writte access. + if not QFileInfo(destinationPath).isWritable() and not QFileInfo(QFileInfo(destinationPath).absoluteDir().path()).isWritable() : + warningBox = QMessageBox(_("Error write permission"), + _("%s cannot be saved.\nCheck that the folder exists and you have write-access permissions.") %destinationPath , Index: patches/series =================================================================== --- patches/series (révision 13414) +++ patches/series (copie de travail) @@ -3,3 +3,4 @@ desktop-file-remove-path.patch no-mime-type-in-desktop-file.patch follow-opensubtitles-download-link +encoding-issue.diff