On 12/11/23 10:54 AM, Igniris Valdivia Baez wrote:
> hello to all, thanks for your answers i've changed the encoding using this:
> ALTER DATABASE testdb
> SET client_encoding = WIN1252;
>
> now when we try to select data from a table we get this error:
>
> ERROR: character with byte sequence 0xe2 0x80 0x8b in encoding "UTF8"
> has no equivalent in encoding "WIN1252" SQL state: 22P05ERROR:
> character with byte sequence 0xe2 0x80 0x8b in encoding "UTF8" has no
> equivalent in encoding "WIN1252" SQL state: 22P05
That is not surprising as your database has per a previous post from you:
"... postgres 15 and UTF8 with collation
en_US.utf8 ..."
It is entirely possible there are values in the database that have no
corresponding sequence in WIN1252.
At this point you will need to stick to UTF8.
>
> i want to clarify that the postgres on dev is in a docker environment
> that already have databases in it so we can't change encoding for the
> hole container
>
> thanks in advance
>
> El sáb, 9 dic 2023 a las 1:01, Laurenz Albe
> (<laurenz.albe@cybertec.at>) escribió:
>> On Fri, 2023-12-08 at 23:58 -0500, Igniris Valdivia Baez wrote:
>>> hello, I have an ETL process collecting data from a postgresql
>>> database and xls files and inserting in a postgresql database that
>>> process occurs great in a local DB in postgres 14 with UTF8
>>> codification and Spanish_Cuba.1952 collation but when I execute that
>>> process in dev which is in postgres 15 and UTF8 with collation
>>> en_US.utf8 the words with accents and ñ looks like an interrogation
>>> symbol, what can I do to fix this?
>> If the data you are sending are encoded in WINDOWS-1252 (I assume that
>> "1952" is just a typo), you should set the client encoding to WIN1252,
>> so that PostgreSQL knows how to convert the data correctly.
>>
>> You can do that in several ways; the simplest might be to set the
>> environment variable PGCLIENTENCODING to WIN1252.
>>
>> Yours,
>> Laurenz Albe
>