Uniface User Forum

 View Only
  • 1.  Difference between $def_charset and $sys_charset

    Posted 06-02-2022 04:12
    Edited by Daniel Iseli 06-03-2022 07:20

    Note from admin: please post your questions in the Uniface User Forum

    Hi all, I see for my application migrated to uniface 10, when the [SETTINGS] portion in ASN file is assigned with $sys_charset = UTF8, some of the characters in the application does not display as it should, rather shows some garbage character. But when I replace $sys_charset with $def_charset, all characters are displayed correctly.

    Going through the help document to uniface 10, I did not understand the main difference between $sys_charset and $def_charset.

    Can anyone please help me understand this. :)



    ------------------------------
    Shubham Saini
    Uniface Community Edition Shared Account
    US
    ------------------------------


  • 2.  RE: Difference between $def_charset and $sys_charset

    Posted 06-02-2022 04:32

    Hi Shubham,

    AFAIK:

    $sys_charset is related to Uniface versus operating system. Example: defining $sys_charset = UTF8 all your filedump will be saved as UTF-8 character set.

    $def_charset is related to Uniface versus (R)DBMS layer. Example: defining $def_charset = UTF8 all your string fields defined with C interface will be saved as UTF-8 character set if the related (R)DBMS is supporting it.

    Hope it helps.

    Gianni



    ------------------------------
    Gianni Sandigliano
    IT
    ------------------------------



  • 3.  RE: Difference between $def_charset and $sys_charset

    Posted 06-02-2022 06:52

    Hi Gianni,

    Thank you for responding.

    I would like to modify my question. Actually when the application was working with Uniface 97, we had [SETTINGS] as $sys_charset = UTF8 and all characters in the application used to be display perfectly. But after migrating to Uniface 10, [SETTINGS] $sys_charset= UTF8 does not work good, after replacing it with $def_charsec = UTF8 and now every character in the application is displayed as it should.. Can you help me understand this, why we face such behavior?

    One difference i would like to bring in your notice is previously we use to have oracle driver version 12.1.0.2 (for Uniface 97), but now we have oracle 19.3.0.0 does this make any difference?

    Thanks $ Regards



    ------------------------------
    Shubham Saini
    Uniface Community Edition Shared Account
    US
    ------------------------------



  • 4.  RE: Difference between $def_charset and $sys_charset

    Posted 06-02-2022 08:07

    Hi Shubham,

    (R)DBMSs, but also all other layers  in the software stack, are moving in the direction to have a whatever UTF-x as base character set, being it an universal base ground. I am not anymore an Oracle expert but I suppose the change you were forced to was generated from different defaults into Oracle configurations of your two installations (version 12 vs. version 19).

    The Oracle Uniface driver AFAIK has not changed its functionalities during latest Uniface versions; it was just re-compiled and re-tested to use libraries from newest Oracle versions.

    Regards,
    Gianni



    ------------------------------
    Gianni Sandigliano
    IT
    ------------------------------