Hi,
we upgraded from PB2019 to PB2022 (1892) and we are experiencing another issues:
1) SetprofileString function has problem with special characters that contains diacritics "ľčť" when writing into INI file.
In INI file there is "lct" as result.
2) ReplaceA function, the same problem as 1), Replace function works fine. Pls see the image below :
Both problem happens RANDOMLY, after restarting application it is fine for some time.
Only once one of our developers succeeded to reproduce the problem, so he could debug it. (printscreen from debug)
BUT after restarting Powerbuilder, both issues were fine and he wasnt able to reproduce it anymore.
We can use Retrieve instead of RetrieveA, but for SetProfileString we have no workaround.
In PB2019 it all works fine.
Thanks for help.
Regards
Jozef
Yes, UTF-8 supports the "extended" character set but does that via using 2 to 4 bytes internally to represent the one extended character.
Whereas in UTF-16LE encoding, the standard & extended character sets are represented internally by always using 2 bytes -
which the MS-Windows O/S uses by default as well.
HTH
Regards ... Chris
Using UTF-16LE for the ini is necessary because the ProfileString functions expect this encoding, not because UTF-8 can't handle the characters. (The help file says "ProfileInt, ProfileString, and SetProfileString can read or write to files with ANSI or UTF16-LE encoding on Windows systems, and ANSI or UTF16-BE encoding on UNIX systems.")