Mam bazę
create database tech_ranking encoding=UTF8
z tabelą:
create table dbo.countries (
iso_code char(2) primary key,
name text not null,
languages text[],
is_enabled boolean not null
);
gdy wczytuję do tej tabeli plik csv kodowany w utf
...
ST,são tomé and príncipe,pt,true
...
to SELECT * from dbo.countries
śmiga elegancko.
Ale, gdy zapiszę to samo do bazy przez jdbc i spróbuję SELET * from dbo.countries
to dostaję:
ERROR: character with byte sequence 0xc3 0xa3 in encoding "UTF8" has no equivalent in encoding "WIN1250"
chodzi o znak ã
Jak wpiszę: SELET * from dbo.countries where iso_code <> 'ST'
to działa.
Ma ktoś pomysł o co chodzi?
Może chodzi o encoding klienta? Bo mogę wczytać to z powrotem za pomocą jdbc tylko nie mogę wyświetlić w konsoli psql
ps.
ciekawostka:
select count(*) as how_many_countries_use_the_lang, languages from dbo.countries group by languages having count(*) > 1 order by 1 desc;
how_many_countries_use_the_lang | languages
---------------------------------+-----------------------
46 | {en}
26 | {fr}
16 | {es}
12 | {ar}
7 | {pt}
3 | {nl}
3 | {de}
3 | {"ar fr"}
2 | {"en pih"}
2 | {"sw en"}
2 | {"en ch"}
2 | {it}
2 | {no}
2 | {ms}
2 | {sv}
2 | {"nl en"}
...