Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] acentos y ñ

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Luis Esteban de Dios Núñez <esteban(at)princesa(dot)pri(dot)sld(dot)cu>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] acentos y ñ
Date: 2009-06-17 17:12:12
Message-ID: 20090617171212.GH6750@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Luis Esteban de Dios Núñez escribió:
> Hola,
>
>> otros en otra. (ASCII es una codificación de 7 bits; no hay acentos ni
>> ñ en ASCII. La codificación SQL_ASCII no es realmente ASCII, sino que
>
> El código ASCII estándar no ocupa 1 byte(8 bits), donde el código de:
>
> á es 160
> é es 130
> í es 161
> ó es 162
> ú es 163
> ñ es 164 y
> el de la Ñ es 165?

Estás en un error -- esos caracteres no están en ASCII. Los valores que
das son de una tabla de codificación que si mal no recuerdo es CP850 (o
quizás CP437), que es una extensión de ASCII definido por Microsoft o
IBM, en el cual se usó el octavo bit para definir caracteres especiales.

Latin1 es lo mismo: una extensión de ASCII que ocupa el octavo bit. La
diferencia es que en Latin1 la tabla para los caracteres con el octavo
bit encendido es distinta a la de CP850.

En latin1 (fuente: es.wikipedia.org)

Oct Dec Hex Carac Descripción
------------------------------------------------------------------ 301
0193 C1 Á A MAYÚSCULA CON ACENTO AGUDO 311 0201 C9 É
E MAYÚSCULA CON ACENTO AGUDO 315 0205 CD Í I MAYÚSCULA CON
ACENTO AGUDO 323 0211 D3 Ó O MAYÚSCULA CON ACENTO AGUDO 332
0218 DA Ú U MAYÚSCULA CON ACENTO AGUDO 341 0225 E1 á
A MINÚSCULA CON ACENTO AGUDO 351 0233 E9 é E MINÚSCULA CON
ACENTO AGUDO 355 0237 ED í I MINÚSCULA CON ACENTO AGUDO 363
0243 F3 ó O MINÚSCULA CON ACENTO AGUDO

Como ves, los valores son distintos de los que citaste.

Esto es lo que dice la wikipedia sobre CP437:

IBM PC or MS-DOS code page 437, often abbreviated CP437 and also
known as, DOS-US, OEM-US or sometimes misleadingly referred to as the
OEM font, High ASCII or Extended ASCII,[1][2] is the original character
set of the IBM PC, circa 1981.

In a more strict sense, this character set was not born as a
real code page (in its present sense) but being merely the graphical
glyph repertoire available in the ROM of the IBM Monochrome Display
Adapter (MDA) and Color Graphics Adapter (CGA) video output cards of the
original IBM PC; that is, it was implemented on hardware.

UTF8 es una extensión distinta que utiliza el octavo bit para señalar
que viene una secuencia de bytes especial (de más de un byte) que
codifica un carácter que no está en ASCII. A su vez, UTF16 es un
conjunto de caracteres completamente diferente en el cual todos los
caracteres (incluso los que están en ASCII) son representados por un par
de bytes (o más de un par, en el caso de los caracteres que no cupieron
en la primera definición de UTF16 hace varios años).

--
Alvaro Herrera http://www.advogato.org/person/alvherre
"Escucha y olvidarás; ve y recordarás; haz y entenderás" (Confucio)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Dilm E.I.R.L 2009-06-17 17:31:40 Re: Update desde Funcion
Previous Message Cesar Erices 2009-06-17 17:07:23 Re: Update desde Funcion