I am runnig Oracle 8.1.7 on NT4. When I created database I set charachter set to UTF8.
On NT4 the value of NLS_LANG is AMERICAN_AMERICA.UTF8.
Ok lets move to client machines.
Let just say that I have table TEST which has one field TEXT VARCHAR2(5).
I am going to use some of our nacional charachters (Slovenia), hope you will be able to see them.
On clients the NLS_LANG parameter is set to SLOVENIAN_SLOVENIA.UTF8
I was executing this command :
insert into test values (sometext);
And results where :
If sometext was string without any our nacional charachters there is no problems.
Problem occurs if I use in sometext string charachter è. For example
sometext = 'kaèa'. Then I get error ORA-01756: quoted string not properly terminated.
What is interesting if after charachter è there is an a,e,i,o,u and after that again one of our nacional charachter which is not è, then insert statment exectues ok.
For example sometext = 'kèaš' --> 1 row created.
What I tried next is setting NLS_LANG (on client) to SLOVENIAN_SLOVENIA.EEMSWIN1250.
Then I could use all of our charachters, but (there is always but)!
It looks like that every nacional charachters now requreis two places in string. If field is VARCHAR2(10) and I try to insert string with five our charachters plus one additional (sometext = 'šðèæžh') then I get message : ORA-01401: inserted value too large for column.
P.S. On server NLS_LANG must be set to UFT8, becouse clients can be in very diffent languages. (slovenian,bulgarian,english,turkish,croatian,...)
I think your problem is in you Windows NT, naimely: you have to change default location and character set of your PC to Slovenian.
When i do that i can type even in Japanese and save any data i want, but if i dont do that i am getting the same error as you.
From what I can see I have then sistem regional settings set to slovenian, plus I have the dafault sistem locale set to slovenian and also the default OS locale. I have everything that is possible set to slovenian. My windows are in english language if this plays a role.
If helps this what I get if I guery nls_session_parameters and nls_instance_parametres tables
select * from nls_session_parameters;
NLS_DATE_FORMAT DD MM YYYY HH24:MI:SS
NLS_TIMESTAMP_FORMAT DD.MM.RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT DD.MM.RR HH24:MI:SSXFF TZH:TZM
select * from nls_instance_parameters