From: | Conxita Marín <cmarin(at)dims(dot)com> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Problema con client_encoding='WIN1251' ybasede datos UTF8 |
Date: | 2009-05-26 15:09:54 |
Message-ID: | DED23DBEA85B4160B2A33D0DFF44EA29@pc13 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Alvaro Herrera escribió:
> comarin_telefonica escribió:
>
>> s001=> set client_encoding='WIN1251';
>> SET
>> s001=> CREATE temp table tmp_movcostp (
>> cmp_condoid integer
>> );
>
> Cuéntame una cosa, ¿por qué estás usando WIN1251 si ese juego de
> caracteres es para el lenguaje cirílico? Creo que deberías estar usando
> Win1252 para representar alfabetos de Europa occidental (que era donde
> estaba España la última vez que miré el mapa)
>
> http://en.wikipedia.org/wiki/CP1251
>
Pues no te sabría decir, viene de antiguo, las bases de datos en su día se
crearon así:
createdb -e -U usu -E WIN ...
Donde WIN parece ser que es un alias de WIN1251.
Las aplicaciones siempre han ido bien con todos los carácteres que
utilizamos por aquí (acentos abiertos, cerrados, c cedilla, ...) y no nos
habíamos preocupado del tema, hasta la versión 8.3 de Postgres en que ya no
te permite cargar distintas codificaciones en un mismo clúster. Ahí es donde
nos planteamos hacer las cosas mejor, utilizar UTF8 en el servidor y para
mantener la compatibilidad con los datos y aplicaciones hacer el set
client_encoding='WIN1251' en la conexión.
Esta es la historia.
De todas formas el misterioso problema del CREATE se soluciona con set
client_encoding='WIN1252'.
Pero entonces tengo problemas más graves por otro lado:
s000=> show server_encoding;
server_encoding
-----------------
UTF8
(1 fila)
s000=> show client_encoding;
client_encoding
-----------------
WIN1252
(1 fila)
s000=> select
pr_codi,pr_val,pr_catra,pr_catrm,pr_catrc,pr_catrb,pr_datra,pr_datrm,pr_datrc,pr_datrb
from dgprog where pr_npant = 'msg1 01' and (pr_list = 'B' or pr_list =
'S') order by pr_codi;
ERROR: carácter 0xd183 de codificación «UTF8» no tiene equivalente en
«WIN1252»
s000=>
Saludos.
Conxita Marín
Desarrollos Informáticos Modulares de Software, S.L.
www.dims.com
From | Date | Subject | |
---|---|---|---|
Next Message | Conxita Marín | 2009-05-26 15:18:00 | Re: Problema con client_encoding='WIN1251' y base de datos UTF8 |
Previous Message | Jorge Romeo | 2009-05-26 15:06:19 | Timestamp como primary key |