Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: SQL*Plus and ASCII char > 128 (NLS issue)
On Tue, 20 Oct 1998 20:42:06 -0700, "Pei L. Ku" <pku_at_gte.net> wrote:
>I'm running Oracle 8.0.4 on HU/UX 10.2. If you wish, conduct the following
>experiement:
>
>Create a file (let's call it x.sql), which contains simply the following
>INSERT statement:
>
>insert into dud values ('<ocirc>abc');
>
>where <ocirc> is actually a single character of the ascii value 244 (o with
>a carat/circumvent on top). The table dud simply contains one column (c1
>varchar2(200)). After I did a 'sqlplus user/passwd @x.sql', I query the dud
>table. The returned data shows 'tabc'. The ascii value of 't' is 116,
>which is what you get if you take 244 and then set the 8th bit (the most
>significat bit) to 0. So my point is that SQL*Plus is stripping off the 8th
>bit, which prevents me from inserting European characters (ascii 128 thru
>255). Anyone knows how to get SQL*Plus not to do that? Called Oracle
>support and haven't heard a thing from them for 2 days. Guess they are
>stumped (or just ignoring me...)
What is your database characterset? I mean the one you specified at database creation. If you didn't specified one then you have the default US7ASCII, which stores only 7 bit characters.
With 8 bit db charset and a proper client configuration (8 bit charset in NLS_LANG) there is no problem with the above insert/select (inserted <ocirc> is also returned as <ocirc>).
>Pei
HTH,
Jurij Modic <jmodic_at_src.si>
Certified Oracle7 DBA (OCP)