#1105 Problems with non-ASCII characters on Linux


I am building Password Safe from git HEAD on Fedora 19 on amd64.
My $LANG is de_DE.UTF-8. I use the rpm target of the makefile to build pwsafe.

The resulting binary has problems with international characters (German umlauts in my case). When I open a password database from a path that contains umlauts I get the error message "File or Path not found".

When I open the file from a working location, entries that contain umlauts are garbled and contain two odd characters instead of the umlaut. "ü" is displayed as "ü" for example. This seems as if UTF-8 is decoded as Windows-1252.


Discussion: Problems with non-ASCII characters on Linux


  • Andrey Kuznetsov

    Could you please run pwsafe from console (terminal app) and paste here its output (if there was something wrong in locale initialization, it should say something about it). Also could you please create and attach here simple tar archive with test database in subdirectory with problem name (so we could reproduce problem path locally).

  • Simon

    Simon - 2013-07-10

    Starting pwsafe from a console prints nothing.

    I have attached an archive that has the following structure:

    |-- passes.psafe3
    `-- Passwörter
        `-- passwörter.psafe3

    The file example/Passwörter/passwörter.psafe3 was created with the Windows version of Passwordsafe via wine with the password "aaa". When I rename it to exaple/passes.psafe3 and open it with my wxwidgets build I get the garbelled characters. I added another entry in that file ("Beispiel 2 äöü ÄÖÜ") that displays incorrectly in the Windows version (just "Beispiel 2").

    So it's quite clear that there is a character encoding problem.

  • Simon

    Simon - 2013-07-11

    I've played around a bit and found the problem:

    Reverting commit 7813d544927fd15c49034df7c14ad105a090b1a1 "Initialize language support in app::OnInit(), not from the app ctor, so it can display assert failure msgbox without crashing. " from 2013-06-07 fixes the problems for me.

  • Saurav Ghosh

    Saurav Ghosh - 2013-07-12

    Can you please post the values of your LANGUAGE, LC_* variables also? Reverting 7813d54... brings back a crash I tried to fix with that commit.

    I can probably make a different fix, but would like to see why it doesn't work as it is.

  • Simon

    Simon - 2013-07-12

    No Problem:


    $LANGUAGE is not set.

  • Saurav Ghosh

    Saurav Ghosh - 2013-07-12

    I couldn't try to reproduce it, even after installing the German language pack, changing the locale and setting all LC_ variables to what you have. But then, I'm trying on 32-bit Ubuntu

    Can you please try the attached patch and see if this solves the problem? Please re-apply the 7813d544927fd15c49034df7c14ad105a090b1a1 commit first.

    Btw, what version of wxWidgets are you using? I tried with 2.8.12

  • Simon

    Simon - 2013-07-12

    Your patch applied to git HEAD solves the issue for me.

    My wxWidgets is also at 2.8.12.

  • Simon

    Simon - 2013-09-28

    This bug is fixed in 0.92BETA. I think it can be closed.

  • Rony Shapiro

    Rony Shapiro - 2013-09-28
    • status: open --> closed

Log in to post a comment.