Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ISO vs UTF-8

754675Feb 18 2010 — edited Feb 18 2010
La 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
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 18 2010
Added on Feb 18 2010
2 comments
2,234 views