Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Problemas NLS_CHARACTERSET WE8ISO8859P1 e UTF8 no Oracle


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

Por outro lado, o UTF-8 usa vários bytes para armazenar um símbolo.

Se seu banco de dados usa WE8ISO8859P1 e o tipo de coluna é do grupo VARCHAR (não NVARCHAR) e você está inserindo um símbolo cujo código> 255, este símbolo será transformado para WE8ISO8859P1 e algumas informações serão perdidas.

Para simplificar, se você estiver inserindo UTF-8 em um banco de dados com um conjunto de caracteres de byte único, seus dados serão perdidos.

O link acima descreve diferentes cenários de como lidar com esse problema.

Você também pode experimentar o Oracle asciistr /unistr funções, mas em geral não é uma boa maneira de lidar com esses problemas.