Codificación De Caracteres En Ficheros De Texto Plano

Páginas: 5 (1070 palabras) Publicado: 18 de octubre de 2011
Conceptos básicos sobre la codificación de caracteres en ficheros de texto plano
Los ficheros de texto plano, por ejemplo los que se utilizan para lanzar scripts en BD, tienen una codificación para soportar los caracteres específicos de cada idioma/región.
Los más utilizados para el español son:
* Windows 1252 (ANSI), no confundir con ASCII, suele ser la codificación por defecto enWindows.
* UTF-8. Es el formato más utilizado para codificar caracteres Unicode y soporta cualquier lenguaje, existen dos variantes con BOM y sin BOM. BOM, byte order mark, indica el orden de los bytes, se usa por homogeneidad con UTF-16 y UTF-32, pero no aporta ninguna información adicional sobre el orden de los bytes para un fichero UTF-8. BOM es una marca de 2 a 4 bytes que se encuentran alprincipio del fichero.
* ISO-8851-1, también conocido como ISO-Latín-1, no soporta el símbolo del Euro.
* ISO-8851-15, es la evolución de ISO-8851-1 y añade entre otras cosas el símbolo del Euro.
Ascii , es un estándar de 7 bits que identifica los primeros 128 caracteres, no incluye los caracteres propios del español, todas las codificaciones comentadas anteriormente respetan estos 128primeros caracteres, éste es el motivo por el que cualquier fichero que se visualice/interprete suele tratar bien los caracteres básicos. El problema viene cuando hay que tratar caracteres no Ascii ya que cada codificación asigna códigos diferentes.
El gran problema de los ficheros de texto planos es que internamente no indican cuál es la codificación que utilizan, esto quiere decir que laaplicación que los use, por ejemplo un editor de texto o el cliente de base de datos sqlplus, no puede automáticamente determinar cómo tratar los caracteres no ASCII, es decir la codificación debe ser indicada de forma externa o por un protocolo de nivel superior, de lo contrario el programa coge la codificación por defecto que puede coincidir o no con la del fichero que se intenta interpretar.
De hechoun fichero que contenga la palabra “hola” es idéntico byte a byte para las cuatro codificaciones citadas anteriormente, por lo tanto en imposible identificar basándose en el fichero cuál es la codificación de se pretendió utilizar, aunque como es lógico en este caso tampoco tiene ninguna importancia, ya que cualquiera de las cuatro lo interpretaría correctamente.
Para el caso de la codificaciónUTF-8 con BOM, lo expuesto anteriormente no se cumple, ya que los tres primeros bytes del BOM permiten identificarlo como UTF-8. Hay que tener en cuenta que aunque esto sea posible técnicamente, no significa que el programa que utilicemos sea capaz de interpretarlo, por ejemplo sqlplus no sólo no determina automáticamente que un fichero es UTF-8 por la presencia del BOM, sino que además lointerpreta de forma errónea ya que intenta procesar los tres primeros bytes del fichero correspondientes a la marca del BOM como si fusen caracteres.
Oracle, sqlplus y codificación de caracteres
Como hemos visto en el punto anterior para asegurar que un fichero de texto plano es tratado correctamente es necesario indicar al programa que lo utiliza cuál es su codificación. En el caso de sqlplusesto se indica con la variable de entorno NLS_LANG, esta variable permite definir el lenguaje, territorio y codificación, mediante el siguiente formato language_territory.charset, en este artículo sólo se trata la parte de codificación (charset).
Algunos valores habituales para español son:
* SPANISH_SPAIN.WE8MSWIN1252
* SPANISH_SPAIN.AL32UTF8
* SPANISH_SPAIN. WE8ISO8859P1
*SPANISH_SPAIN. WE8ISO8859P15
No confundir con el resto de variables NLS_* que se pueden obtener con la sentencia SELECT * FROM NLS_SESSION_PARAMETERS. La parte de la variable de entorno NLS_LANG correspondiente a la codificación no puede ser consultada ni modificada mediante sentencias SQL.
En Unix se define con la variable de entorno NLS_LANG
En Windows se define mediante la entada de registro...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Codificacion De Caracteres
  • Sistema De Codificación De Caracteres
  • Ficheros de texto en Java
  • Ficheros de texto c
  • Codificacion de caracteres
  • Ficheros de textos
  • Codificación de caracteres ASCII
  • plan portadores de texto

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS