1

Temat: Zmiana domyślnego kodowania bazy

Witam,

Obecnie przy imporcie bazy wyskakuje mi błąd:

ERROR: encoding LATIN2 does not match locale Polish_Poland.1250
DETAIL: The chosen LC_CTYPE setting requires encoding WIN1250.


Baza danych stoi na Win XP (pakiet Bitnami)
W jaki sposób mogę zmienić kodowanie bazy danych na LATIN2 ?


pzdr.

Ostatnio edytowany przez staf (2010-01-26 08:46:42)

2

Odp: Zmiana domyślnego kodowania bazy

Takie rzeczy najlepiej robić przed utworzeniem bazy. Rozumiem że nie możesz usunąć bazy do której importujesz dane i stworzyć ją na nowo z odpowiednim kodowaniem.
Jakiego masz postgresa?

3

Odp: Zmiana domyślnego kodowania bazy

Z usunięciem bazy nie ma problemu.

PostgreSQL 8.4.0

4

Odp: Zmiana domyślnego kodowania bazy

CREATE DATABASE .... WITH ENCODING ...

5

Odp: Zmiana domyślnego kodowania bazy

Niestety nie pomogło;

wydanie komendy:

CREATE DATABASE mojabaza WITH ENCODING 'LATIN2';

zwróciło błąd:

Błąd SQL:

ERROR:  encoding LATIN2 does not match locale Polish_Poland.1250
DETAIL:  The chosen LC_CTYPE setting requires encoding WIN1250.


jakieś sugestie ?

może jakieś ustawienia w plikach konfiguracyjnych postgresql ?

Ostatnio edytowany przez staf (2010-01-26 11:11:26)

6

Odp: Zmiana domyślnego kodowania bazy

7

Odp: Zmiana domyślnego kodowania bazy

8

Odp: Zmiana domyślnego kodowania bazy

Ale po co zmieniasz configa.
Przy tworzeniu bazy CREATE DATABSE mozesz podac m.in. jakie ma byc  kodowanie i lc_type

9

Odp: Zmiana domyślnego kodowania bazy

nie mogę coś skleić tego zapytania, możesz podać jakiś przykład ?

10

Odp: Zmiana domyślnego kodowania bazy

CREATE DATABASE korean WITH ENCODING 'EUC_KR' LC_COLLATE='ko_KR.euckr' LC_CTYPE='ko_KR.euckr' 

11

Odp: Zmiana domyślnego kodowania bazy

ten wzór z dokumentacji próbowałem już wcześniej. niestety nawet po wklejeniu w/w komendy , nie działa, dostaje błąd:

Błąd SQL:


ERROR:  invalid locale name ko_KR.euckr
W poleceniu:
CREATE DATABASE korean WITH ENCODING 'EUC_KR' LC_COLLATE='ko_KR.euckr' LC_CTYPE='ko_KR.euckr'


Czy to ma jakieś znaczenie że zapytania wykonuje poprzez phppgadmin ?

Jakie jest LC_COLLATE i LC_CTYPE dla latin2 ?

12

Odp: Zmiana domyślnego kodowania bazy

?!
Ale ty chcesz stworzyć baze z koreańskim językiem? A twój system obsługuje taki język?

13

Odp: Zmiana domyślnego kodowania bazy

Mnie chodzi o to by moja baza była w LATIN2 a nie w UTF8.

Ni jak tego osiągnąć nie mogę...

14

Odp: Zmiana domyślnego kodowania bazy

A tak nie wchodzi

create database test with encoding 'LATIN2' LC_COLLATE='LATIN2' LC_CTYPE='LATIN2';

?

15

Odp: Zmiana domyślnego kodowania bazy

Ostatnio edytowany przez woziu (2010-01-28 23:30:38)

16

Odp: Zmiana domyślnego kodowania bazy

woziu ale o co chodzi?
Jak zmieniłeś kodowanie w psql no to oczywiste ze zmiana dotyczy tylko klienta.
Jak tworzysz bazę to podajesz jak ma być kodowana i z tego co wiem to żadne polecenie SET tego nie zmieni kodowania bazie.

17

Odp: Zmiana domyślnego kodowania bazy

CREATE DATABASE testpl
  WITH OWNER = database_owner
       ENCODING = 'LATIN2'
       LC_COLLATE = 'Polish_Poland.28592'
       LC_CTYPE = 'Polish_Poland.28592' TEMPLATE template0