Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle 10G - character sets.
On Jan 9, 9:58 am, Laurenz Albe <inv..._at_spam.to.invalid> wrote:
This is extremely fishy, as there are no greek characters in
> WE8MSWIN1252, see
http://www.microsoft.com/globaldev/reference/sbcs/1252.mspx
>
> If database character set and client character set are different, as you
> say they are, then it should be impossible for you to retrieve greek
> characters out of that database.
>
> I would like you to check two things:
>
> Is the result of the following query really WE8MSWIN1252:
>
> SELECT value FROM nls_database_parameters
> WHERE parameter='NLS_CHARACTERSET';
>
WE8MSWIN1252
> Second, I'd like to see what code points are stored in the database for
> greek characters:
>
> Identify a database field that contains, say, an Omega. If the Omega is
> in the, say, seventh position, you can determine the code point by
>
> SELECT ascii(substr(field_with_omega,7,7)) FROM ...
>
> What is the number returned for an omega?
For a '?' ( I get 'omegas' when I specify 'UTF8' as the charset), the
character code is
927
resulting from:
SELECT ASCII(SUBSTR(ARTTITLE, 0, 1)) FROM articles WHERE artid = 601
>
> You see, I am still struggling to understand what exactly is going on on
> your system.
>
Same here. Perhaps sqlplus is utilizing some sort of functionality which ends up getting the text in the proper encoding.
> But maybe you can take a shortcut:
> If the greek characters mysteriously are correct in sqlplus, why not use
> sqlplus to extract the data you want?
>
Because some of the tables contain blobs and I can't spool blobs to files (i.e sqlplus will not display them ). Can I provide you with the source code of the PHP and/or the C++ client I am using in order to access the data?
I am using the exact same libraries (i.e shared client libraries ) sqlplus is using, I have checked every example ( so to speak ) I could find on the Web and it seems I am doing it right. Re-importing the data (this time having set NLS_LANG properly before doing so ) didn't make a difference, either.
Thank you for trying to help me,
Mark
> Yours,
> Laurenz Albe
Received on Tue Jan 09 2007 - 04:00:44 CST