???? when writing Hebrew Chars to Oracle (ODAC)

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
RoniLev
Posts: 7
Joined: Sun 02 Mar 2014 21:04

???? when writing Hebrew Chars to Oracle (ODAC)

Post by RoniLev » Tue 16 Feb 2016 04:51

Hi there
I wrok on Win7 64bit machine.
Delphi X2 + ODAC + Oracle Client 11g.
my NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 (in registry)
I am trying to insert record to Oracle 11g database
using the save charaterset AMERICAN_AMERICA.WE8ISO8859P1.
but i get ????? inted of Hebrew chars.
I tried setup everything i can without success.
Any ideas?
Thanks

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: ???? when writing Hebrew Chars to Oracle (ODAC)

Post by MaximG » Tue 16 Feb 2016 12:16

To work correctly with Hebrew characters used in query parameters, please use the UseUnicode property: https://www.devart.com/odac/docs/?devar ... nicode.htm If you are using Hebrew characters in the query text, then in addition to UseUnicode use the UnicodeEnvironment property: OraSession.Options.UnicodeEnvironment := True;

RoniLev
Posts: 7
Joined: Sun 02 Mar 2014 21:04

Re: ???? when writing Hebrew Chars to Oracle (ODAC)

Post by RoniLev » Tue 16 Feb 2016 16:16

Hi Maxim
i set
Options.UseUnicode = True
Options.UnicodeEnvironment = True

but its not working . i still get ??? insted of Hebrew chars.
i want to remaind you that my Oracle charset is WE8ISO8859P1.
it is not a Unicode Charset !!!!!!!
By the way.
BDE Tquery + DevArt Oracel ODBC write Hebrew Chars with no problem.
(with out setting it to Unicode).
So there is adiffrent in handling Hebrew chars i a non unicode Oracle charsert.
Thanks
Roni

lior
Posts: 36
Joined: Mon 01 Aug 2011 07:11

Re: ???? when writing Hebrew Chars to Oracle (ODAC)

Post by lior » Wed 17 Feb 2016 08:12

P1 is non hebrew charset. You can use it for hebrew if both the client and the database charsaet are P1.
In that case Oracle passes the char without trying to convert it.
But even then tools like Toad will show garbage.
For non unicode database you shold use Hebrew charset such as IW8ISO8859P8 (Ansi) or IW8MSWIN1255 (Windows).

RoniLev
Posts: 7
Joined: Sun 02 Mar 2014 21:04

Re: ???? when writing Hebrew Chars to Oracle (ODAC)

Post by RoniLev » Wed 17 Feb 2016 12:05

Hi lior
Thanks for your reply
it works fine today with Oracle 11g using WE8ISO8859P1 Charset 32 bit clients pc.
When we moved to 64 bit clients Pc we can not see Hebrew chars.
ODAC - is reading Heabrew ok but when writing with it i see ????
Devart ODBC - Read and write Hebrew (but we prefer to work with Delphi/Devasrt components)
Delphi XE2 BDE+TQUERY can not readqwrite hebrew from this Oracle.
Any ideas?
Roni

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: ???? when writing Hebrew Chars to Oracle (ODAC)

Post by MaximG » Tue 23 Feb 2016 09:24

The WE8ISO8859P1 encoding has no support for Hebrew charset. Try to conduct a little test. Write Hebrew data in a table using Devart ODBC Driver for Oracle. To read such data, use SQL Plus. Let us know whether you get correct display of Hebrew characters on reading with SQL Plus.

Post Reply