ISO vs UTF-8
754675Feb 18 2010 — edited Feb 18 2010La migración de la BBDD de una aplicación desde un encoding ISO-8859-1 a otra con enconding UTF-8 puede presentar problemas durante el proceso de import debido al tratamiento que el encoding UTF-8 realiza de los campos CHAR, VARCHAR y VARCHAR2.
El origen de los problemas viene provocado por que en ISO-8859-1 cualquier carácter (normales, acentuados, ñ, etc…) ocupa 1 byte mientras que en UTF-8, los caracteres “especiales” ocupan más de 1 byte.
Para evitar este problma es necesario especificar los campos CHAR, VARCHAR y VARCHAR2 con el atributo CHAR ya que de esta manera se consigue desligar a los datos del encoding de la BBDD en la que resida. En caso contrario ORACLE asumirá por defecto que el tamaño implica “bytes” y como consecuencia un encoding UTF-8 producirá problemas al manejar caracteres especiales.
Por otro lado, la realización de este cambio deja en manos de ORACLE la decisión sobre el tamaño físico de datos a emplear de forma que, en el caso que los VARCHAR que no contengan caracteres extraños su tamaño coincidirá exactamente al tamaño en bytes en TS pero, un campo que contenga uno (o más) caracteres especial, verá incrementado el espacio empleado en disco de forma proporcional. En este caso, ORACLE recomienda considerar un incremento de un 15% sobre el espacio de disco ocupado en la versión ISO.
-------------------------------------------
http://www.fancypeople.org