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
AsYlum
post
Post #2





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 (IMG:http://forum.php.pl/style_emoticons/default/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

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 01:33