konto usunięte

Temat: postgres kodowanie - problem

Witam, mam następujący problem:

mam bazę danych z kodowaniem SQL_ASCII i importuje do tabeli plik csv. Wszystkie polskie znaki są i wszystko jest OK.

następnie chce dokonać importu do bazy z kodowaniem LATIN2. Pojawia się następujący błąd:
ERROR: invalid byte sequence for encoding "UTF8": 0xa3

wiec próbuje importowac plik przekonwertowany na utf8 i pojawia się błąd:
ERROR: character 0xefbbbf of encoding "UTF8" has no equivalent in "LATIN2" :)

żadne kodowanie nie działa. W związku z tym robię backup tabeli z bazy z kodowaniem SQL_ASCII i przywracam w bazie z kodowaniem LATIN2. Wszystko przebiega bez błędów.. natomiast polskie znaki nie działają..tzn niektóre działają poprawnie a zamiast tego kwadrat albo jakiś apostrof.

Ma ktoś może pomysł jak to pokonać? czy da się jakoś to zrobić sprawnie bez zmiany kodowania dla całej bazy?

z góry dzięki za pomoc
Pozdrawiam
Wojtek S.
Paweł Kozicki

Paweł Kozicki Główny programista

Temat: postgres kodowanie - problem

spróbuj tą csv'ałke przekonwertować najpierw.

Polecam Gżegżółkę.

http://www.gzegzolka.com/
Łukasz Dudek

Łukasz Dudek Database
Administrator

Temat: postgres kodowanie - problem

Kłania się znajomość kodowania ...
SQL_ASCI nie przechowuje polskich znaków. Ale odwołując się do bazy jako latin2 dostaniesz polskie znaki. Taki mały hack ale wiele psuje.

Podczas restore /w backupie musisz zamienić `set client_encoding ="SQL_ASCI"` na latin2. Wtedy będziesz miał prawidłowe znaki.
BTW. polecam migracje do UTF-8

Następna dyskusja:

Postgres - struktura drzewi...




Wyślij zaproszenie do