Menu

#408 Character encoding problem

1.2
open
Encoding (1)
1
2016-10-10
2016-04-12
Anonymous
No

Hi,

When I choose the german language, the character encodig is wrong (see attachment).

1 Attachments

Discussion

  • Matthias Becher

    Matthias Becher - 2016-07-28

    I can confirm this on Windows Server 2012 r2

     
  • Wolfgang Meyer

    Wolfgang Meyer - 2016-08-03

    I also have this problem. You could set the codepage of the httpd to iso5589-1 and the de_DE locale will be displayed correctly in the webinterface but writing umlauts to the database wont work, as they are expected in utf8 as far as i can see.

    The problem in my opinion is the language file as it has the iso5589-1 in the header, but i am not sure. I would be very interessted in a solution as my colleagues really REALLY like german interfaces...

     
  • Peter Schultz

    Peter Schultz - 2016-10-06

    confirmed, too. Centos 7. This is a "Blocker" for us concerning update ....

     

    Last edit: Peter Schultz 2016-10-07
  • Anonymous

    Anonymous - 2016-10-06

    We are on CentOS7 aswell with the same bug.

     
  • Miha Petkovsek

    Miha Petkovsek - 2016-10-07

    I checked on latest development release and it is ok. There was a bug with encoding naming.

    Try this in SQL:

    UPDATE `lang` SET `l_code` = 'de_DE.UTF8' WHERE `l_code` = 'de_DE';
    

    And rename functions/locale/de_DE/ to functions/locale/de_DE.UTF8/.

     
  • Peter Schultz

    Peter Schultz - 2016-10-10

    a Colleague of mine digged a little deeper (Thanks Uwe ...):

    after some extended investigation i found the place the translated strings come from, the phpipam.po file:

    /var/www/html/phpipam/functions/locale/de_DE/LC_MESSAGES/phpipam.po.

    I think it is a problem of the translation. The one is bundled with the original source has many ugly translations. I append a corrected version.
    It would be fine to substitute the original files. The problem i discovered has something to do with the encoding of that file!

    On my linux laptop using poedit i recognized, the character encodig of the original po-file has been iso8895-1.
    After change to UTF-8 and "save" i've got the right utf8 phpipam.mo ( binary version ).

    So this is only half the truth. In this forum i found the final hint:

    http://php.net/manual/de/function.bind-textdomain-codeset.php

    After changing the following files in /var/www/html/phpipam:

    ./app/login/index.php
    ./api/v1/functions/functions.php
    ./functions/classes/class.User.php

                putenv("LC_ALL=".$lang->l_code); 
                setlocale(LC_ALL, $lang->l_code);                                       // set language 
                bindtextdomain("phpipam", "./functions/locale");        // Specify location of translation tables 
                textdomain("phpipam");                                                          // Choose domain
    

    ++ bind_textdomain_codeset("phpipam", "utf-8");

    and restart httpd, the characters look pretty (nice german umlauts).

    So please change this code fragment in the original source code!
    I'll wait to upgrade my production environment.

     
  • Anonymous

    Anonymous - 2016-10-10
    Post awaiting moderation.

Anonymous
Anonymous

Add attachments
Cancel