|Character Semantics And Globalization in Oracle - Prevent storage problems associated with mutlibyte character sets by using character semantics when defining table columns.|
Sven said...when we did
alter system set nls_length_semantics=char;
we had to restart the engine, the next session had nls_length_semantics=byte again and the %char% ddl were 1 byte per character.
So we decided to do:
1. explicitly assign char to %char% ddl columns
2. or alter session set nls_length_semantics = 'CHAR'
george said...thanks for the explanation.
Samir Waghu said...Our DB NLS Params are as below
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
Created a table as below
CREATE TABLE SAMIR_UTF8_TEST(
ID_TEST VARCHAR2(100 CHAR),
TEST_DESC VARCHAR2(4000 CHAR)
But when we try to add a MS-Word text (3916 chars) with MS-Word smart quotes it fails insetion/updation.
Anything I am doing wrong???
Vadim said...I've tried:
CREATE TABLE tab3 (
description VARCHAR2(20 CHAR)
NLS_LENGTH_SEMANTICS = BYTE
Table is created, but
Vadim said...Sorry, the table was created by SYS user.
When I logged in by another user, all is OK.