Kirjoittaja Aihe: Merkistöongelma (Postgresql-LC_TYPE)[RATKAISTU]  (Luettu 2663 kertaa)

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Ongelmana on siis konflikti siinä, että Postgresql ei salli kuin UTF-8:n käyttöönoton uutta tietokantaa luotaessa. Muiden käyttöönotto (esim. LATIN1) törmää localen asetuksiin (LC_TYPE). Kantaan vietävät aineistot ovat kuitenkin pääsääntöisesti ISO-8859-1 (LATIN1) merkistöllä .dbf tiedostoissa, eikä ole keinoa ainakaan tiedossa konvertoida noita attribuuttitaulukoita UTF-8:aan. Jostain olin lukevinani, että kantaan viennissä konvertointia yritettäisiin automaattisesti, mutta ei se näytä kyllä toimivan sekään.

Onko guruilla kikkakolmosia? Ihmetyttää Postgreql:n törmäys localen kanssa, vaikka valittavia merkistöjä olisi pilvin pimein. Localen merkistöasetuksia ei kuitenkaan ole aikomus muuttaa.

EDIT: Tietotekniikka on usein yrityksen, erehdyksen ja arvaamisen varassa. Ratkaisu oli avata dbf-tiedosto Libreofficen Calciin, ja antaa avatessa merkistöksi oikea ISO-8859-1. Sitten Tallenna nimellä, annetaan uusi tiedostonimi, ja Tallenna-ikkunan alalaidasta ruksitaan Muokkaa suodattimen asetuksia. Jatketaan, jolloin kysytään vielä, tallennetaanko varmasti dbase-muodossa, ja sitten kysytään, missä merkistössä. Sinne laitetaan UTF-8, ja konversio on tehty. Liki 190 000 tietueen tiedosto näytti menevän ihan oikein uuteen merkistöön. Tämän uuden voi sitten viedä Postgresql-kantaan ilman mutinoita.
« Viimeksi muokattu: 07.08.13 - klo:12.36 kirjoittanut New_user »