Incorrect character count on a text area
A Text Area fields fails to commit the entered text sometimes upon submission a associated log error is seen.
'ORA-12899: value too large for column....'
Steps to Reproduce
A defect or configuration issue in the operating environment.
The Oracle database system was using multi-byte character set (AL32UTF8) with NLS_LENGTH_SEMANTICS as BYTE.
So a varchar2(255) column will hold 255 bytes.
In a multi-byte character set some characters (for example, a double quotation mark) would be represented in multiple bytes exceeding the limit of the varchar2 column and resulting the error.
Perform the following local-change:
Change the NLS_LENGTH_SEMANTICS to CHAR.
Use the CHAR keyword when declaring a column length (for example: varchar2(255 CHAR) rather than varchar2(255), which would result in a column that holds 255 characters rather than 255 bytes):