varchar2 & char columns showing up 4x bigger than they really are

I'm using PL/SQL Developer 5.14 with an Oracle 9.2 Client and 9.2 Server. When I describe, edit or view a table all the varchar2 or char columns indicate a size that is 4 times larger than they really are (nvarchar2 is 2 times larger). If I connect to an 8.1.7 database I don't get this behavior.

For example: if I create a table with a char(1), varchar2(1) and nvarchar2(1) column and then hit apply, it immediately shows char(4), varchar2(4) and nvarchar2(2).

I notice that sys.all_tab_columns.data_length also shows a size that is 4x bigger, but sys.all_tab_columns.char_length shows the correct size. Is your application using the byte size rather than the character size? I notice that TOAD doesn't have this problem.

The server NLS parameters are as follows:
NLS_CHARACTERSET AL32UTF8
NLS_LENGTH_SEMANTICS CHAR
NLS_NCHAR_CHARACTERSET AL16UTF16

Does your application only work if nls_length_semantics is set to BYTE?
 
Back
Top