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





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.