Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [postgres] konwersja bazy, Latin2 => UNICODE
Cezar708
post
Post #1





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam,

chcę przekonwertować bazę danych z kodowania Latin2 na UNICODE.

Robił to ktoś z Was? Jeśli tak, to podzielisz się doświadczeniem?

Znalazłem temat na forum, który mniej więcej jest w stanie powiedzieć mi jak zrobić to "na około", czy naprawdę nie ma narzędzi, które przekonwertują bazę z Latin2 na UNICODE?

Proszę o pomoc
Pozdrawiam Cezar708
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Sedziwoj
post
Post #2





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Ja jedyne co znalazłem to backup -> konwersja -> zapis do nowej.
Pewnie tą samą metodę znalazłeś. I coś mi się zdaje, że nic lepszego nie będzie.


--------------------
Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami.
Go to the top of the page
+Quote Post
Cezar708
post
Post #3





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


no właśnie tę tylko znałem... dzięki za zainteresowanie.

Będę teraz dłubał winksmiley.jpg

Pozdrawiam
Go to the top of the page
+Quote Post
AsYlum
post
Post #4





Grupa: Nieautoryzowani
Postów: 8
Pomógł: 1
Dołączył: 18.07.2007

Ostrzeżenie: (0%)
-----


Temat trochę odgrzebany, ale dość często się pojawia, dlatego dorzucę swoje 3 grosze. Od wersji Postgres 8.1, pg_dump ma parametr -E, który odpowiada za encoding. Dzięki temu nie trzeba już bawić się w edycję plików i zamianę znaków.

Operacja zamiany Latin-2 -> UTF8 mogłaby wyglądać następująco:
1. tworzymy backup bazy (podając kodowanie do jakiego ma konwertować pg_dump)
- pg_dump -i -h localhost -p 5432 -U postgres -E UTF8 -F c -Z 9 -b -v -f "D:\test_db.backup" test_db
2. tworzymy pustą bazę z nowym kodowaniem tj. UTF8
3. wczytujemy backup smile.gif

Trzeba zwrócić uwagę, aby nowo-utworzona baza miała poprawne kodowanie, tzn. takie jak ma backup. Jeśli kodowania będą różne to PgSQL złoży się pięknym błędem. Przynajmniej takie miałem doświadczenia z którymś wydaniem 8.3.x. Niestety nie pamiętam dokładnego numeru wersji.

Więcej o pg_dump pod tymi linkami:
- v8.1 http://www.postgresql.org/docs/8.1/interac...app-pgdump.html
- v8.2 http://www.postgresql.org/docs/8.2/interac...app-pgdump.html
- v8.3 http://www.postgresql.org/docs/8.3/interac...app-pgdump.html

Pełna lista konwersji jakie obsługuje PgSQL znajduje się w tabeli pg_conversion. Dokumentacja wspomina również o tworzeniu swoich konwersji kodowania, jednak nie sprawdzałem jak to działa w praktyce. Domyślnie Postgres obsługuje większość konwersji jakie możemy sobie wymyślić.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 08:31