Re: Codificado

From: Gunnar Wolf <gwolf(at)gwolf(dot)org>
To: Patricio Cifuentes Ithal <pcifuentes(at)siigsa(dot)cl>
Cc: 'Alvaro Herrera' <alvherre(at)alvh(dot)no-ip(dot)org>, 'Oscar' <oreyesp(at)facinf(dot)uho(dot)edu(dot)cu>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Codificado
Date: 2007-11-15 16:06:36
Message-ID: 20071115160636.GA15050@cajita.gateway.2wire.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Patricio Cifuentes Ithal dijo [Thu, Nov 15, 2007 at 11:46:16AM -0300]:
> > SQL_ASCII es lo peor que puede pasar. Ahora, la verdad es que win-1256
> > es para guardar en idioma arabigo, asi que no se por que lo utilizas.
> > Para guardar castellano deberias estar usando win-1252 o latin1. O
> > mejor aun, UTF-8.
> >
> > http://www.postgresql.org/docs/8.2/interactive/multibyte.html
> (...)
>
> [Patricio Cifuentes Ithal]
> Chuuuuu!!!...
> Yo tengo todas mis BD en ASCII, el S.O. en iso-8859-1, el apache en
> iso-8859-1, el php en iso-8859-1, el postgres en iso-8859-1. Los configure
> todos así para q me puedieran funcionar los acentos eñes y otros, y me
> funcionan perfectamente, claro q si los llevo a otra codificación me queda
> la ensalada de caracteres, si el ASCII es tan malo, como podría arreglar mis
> BD, el UTF-8 sería lo mejor?, ya q si pongo las BD en UTF-8 los acento y las
> Ñ's me queda con puros garabatos, como podría arreglar ese 'supuesto'
> problema? O lo mejor es seguir tal cual?... será q el ASCCI de mis BD me
> funcionan bien por la codificación en iso-8859-1 en todos los demás
> servicios hace q sean compatibles?

Hola,

Todos los esquemas de codificación iso-8859-*, así como los win-*, o
antes aún los codepages cp*, son meros parches para permitir que las
diferentes culturas del mundo representen su información con los 256
caracteres (8 bits, pues) que permite ASCII. ¿Por qué? Porque ASCII es
un estándar demasiado bien establecido, y migrar por completo a algo
distinto era casi impensable.

A lo largo de los años se propusieron diferentes maneras de ampliar
este espacio para acomodar los signos de escritura de diferentes
culturas, pero implicaban cambiar el tamaño de _todas_ las palabras
(con "palabra" me refiero a caracter. Sí, suena confuso, y lo es ;-) )
a 16 o 32 bits, perdiendo compatibilidad por completo con lo ya
existente... No necesariamente es algo posible.

UTF8 es un desarrollo muy interesante, basado en Unicode: Es un
esquema en el que el ancho de cada caracter es variable (y, por tanto,
se rompe la tradición que tenemos de que un caracter es exactamente un
byte). Representa los primeros 128 caracteres del mismo modo que
ASCII, pero para todos los demás caracteres (que, entiendo, Unicode no
tiene límite de cuántos caracteres aceptará, es teóricamente
ilimitado) usa "caracteres anchos". Es por eso que cuando abres un
texto UTF8 especificando una codificación iso-8859-1, todos los
caracteres anchos van precedidos de una A mayúscula con tilde (Ã), el
marcador de secuencia UTF8.

En fin... ¿A qué voy? A que nos conviene migrar _todo_ a UTF8. Tarde o
temprano tendremos que hacerlo. Lo importante es que todos los pedazos
de tu sistema saben en qué codificación están los demás - Si tienes
una BD UTF8 y el Apache está en iso-8859-1, no pasa nada - Siempre y
cuando lo declares así.

Saludos,

(desde un cliente de correo aún configurado en iso-8859-1)

--
Gunnar Wolf - gwolf(at)gwolf(dot)org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message FABIOLA ESPINOZA GOMEZ 2007-11-15 16:10:15 Procedimientos Almacenados
Previous Message Patricio Cifuentes Ithal 2007-11-15 14:46:16 RE: Codificado