¿Existe alguna desventaja de usar UTF8 en una base de datos de Oracle?

Pregunta:

Estamos instalando ordenando una base de datos de Oracle configurada y nos preguntan qué codificación de caracteres nos gustaría tener. La aplicación (en Java) está solo en inglés, pero los usuarios son de diferentes partes del mundo.

¿Existe alguna motivación para NO usar UTF8 u otro juego de caracteres Unicode?

Respuesta:

Debería tener dos opciones para hacer:

  1. Elija el conjunto de caracteres de su base de datos (utilizado por los tipos de datos VARCHAR2 , CHAR , CLOB ).
  2. Elija su juego de caracteres nacional (utilizado por los NCLOB datos NVARCHAR2 , NCHAR , NCLOB ).

Como se ve aquí :

Oracle recomienda usar Unicode para todas las implementaciones de sistemas nuevos.

Los juegos de caracteres nacionales solo pueden ser Unicode: UTF-8 o UTF-16. Entonces, elegir el mismo conjunto de caracteres para ambos sería redundante …

Mi consejo (dice que su solicitud está solo en inglés):

  • Solicite que el juego de caracteres de su base de datos sea UTF-8.
  • Solicite que su juego de caracteres nacional sea UTF-16.

Y aquí está mi consejo general para la definición de su esquema. Tabla por tabla, columna por columna (aquí tomo la muestra VARCHAR2 / NVARCHAR2 ):

  • si su columna puede contener cualquier carácter en el mundo (como en la entrada del usuario ), NVARCHAR2 en NVARCHAR2 .
  • si tiene control sobre lo que se va a almacenar (entonces en inglés), VARCHAR2 .

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım