Hi Everyone,
OE 10.2B - when I enter €(euro) symbol in text field, it stored as ? in database. By looking into KB it something to do with codepage. But I have no idea to check current code page and convert into right one. Could you pls suggest on this?
Thanks.
the session object handle gives you information on codepages : cpinternal, cpstream , ...
if you have not put a codepage in your startup bat file , you use the default of the installation which you can find in the startup.pf under your installation dir
what OS are you using ?
the ISO codepages are for unix
1252 is a windows codepage
I am assuming you see the question mark '?' as a string, and not the unknown value.When you convert from UTF-8 to any non-Unicode codepage, if a character does not exist in that codepage, OE uses '?' as a replacement character. You need to check your -cpinternal/-cpstream of your client AVM (as explained by others), and the database codepage. The database codepage can be found in _Db._Db-xl-name. If you can provide these codepages, that will help explain why your Euro is converted to '?'.
the session object handle gives you information on codepages : cpinternal, cpstream , ...
if you have not put a codepage in your startup bat file , you use the default of the installation which you can find in the startup.pf under your installation dir
what OS are you using ?
the ISO codepages are for unix
1252 is a windows codepage
I am assuming you see the question mark '?' as a string, and not the unknown value.When you convert from UTF-8 to any non-Unicode codepage, if a character does not exist in that codepage, OE uses '?' as a replacement character. You need to check your -cpinternal/-cpstream of your client AVM (as explained by others), and the database codepage. The database codepage can be found in _Db._Db-xl-name. If you can provide these codepages, that will help explain why your Euro is converted to '?'.
In older version (I think 9) you could save and retrieve any one byte character to from one byte database. (We used this to save a mix of data from multiple code pages: 1250, 1251, 1252, 1253 and 1256 in a iso8859-1 database).
This approach don't work with current OpenEdge releases. Here you need to find a code page for database that contains all code pages from all connected clients. (utf-8 in our case)
If clients should be able to read data from all the other clients, then the client code page also need to be utf-8.
And for data to display correctly you need to use utf-8 enabled fonts!
And source code can also only be in a single code page.
So if you need to save text for multiple code pages in source code, then you source code code page also needs to be utf-8