sql >> Base de Datos >  >> RDS >> Oracle

Problemas de NLS_CHARACTERSET WE8ISO8859P1 y UTF8 en Oracle

http://docs.oracle.com/cd /B19306_01/server.102/b14225/ch2charset.htm#g1009784

Por otro lado, UTF-8 usa varios bytes para almacenar un símbolo.

Si su base de datos usa WE8ISO8859P1 y el tipo de columna es del grupo VARCHAR (no NVARCHAR) y está insertando un símbolo cuyo código es> 255, este símbolo se transformará a WE8ISO8859P1 y se perderá parte de la información.

En pocas palabras, si está insertando UTF-8 en una base de datos con un conjunto de caracteres de un solo byte, sus datos se perderán.

El enlace anterior describe diferentes escenarios sobre cómo abordar este problema.

También puede probar Oracle asciistr /unistr funciones, pero en general no es una buena manera de lidiar con este tipo de problemas.