'How to transcode Unicode to ISO 8859-1 with postgres 13
How can I transcode a UTF-8 string to Latin1 with PostgreSQL 13+ ?
I've read this SO thread but the functions convert()
, convert_from()
and convert_to()
no longer exist starting from Postgres 13.
EDIT: the solution is given by Laurenz Albe, who pointed out that the functions still exist. I was only afterwards that I noticed:
- Google made me land on the manual for 8.2, for which convert() has a different signature than in version 8.3+
- I tried the 8.2 SQL code that resulted in
ERROR: syntax error at or near "USING"
- I couldn't find the function in the version 13 docs, because:
- the function manual has been moved to Binary functions
So the correct SQL should have been:
SELECT convert('text_in_utf8', 'UTF8', 'LATIN1');
Solution 1:[1]
convert_from
and convert_to
still exist, but they cannot convert from text
to text
because text
is always a string in the database encoding. Strings in other encoding can only be stored as bytea
.
I cannot guide you any further, because you didn't tell us what problem you are trying to solve.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Laurenz Albe |