Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z kodowaniem
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
nie ja
witam!

mój problem bierze się z prostej kwesti
moja baza danych (Postgresql) jest kodowana w unikodzie, natomiast interface (htlm+php) do bazy głównie w ISO-8859-2.

moje pytania to:
1) jakie kodowanie jest najlepsze (oczywiście uwzglęniające polskie znaki)
2) czy da się zmienić kodowanie bazy danych (gdy jest ona już wypełniona danymi)

z góry dzięki za pomoc
none
Odp na pytania.
1. Jeśli twoj aplikacja będzie obsługiwana tylko w językach polski i ang to najlepsze kodowanie latin2(ISO-8859-2). Jeśli może być w innych językach to Unicode. Osobiście zawsze używam unicode. I na stronie tez mam kodowanie unicode(UTF-8).


2. Nie nie da się. Przynajmniej nic mi na ten temat nie wiadomo. Kodowanie bazy ustalasz przy jej tworzeniu.
Adiasz
1. Rowniez polecam calkowite przejscie na UTF
2. Mozna zmienic kodowanie bazy zmieniajac wartosc encoding w tabeli systemowej pg_database, 9 to latin2, 6 to unicode. Jednak gdy zmienisz ta wartosc polskie znaki pokaszania sie bazie, wiec lepiej zrobic dumpa przekonwertowac go i wczytac do juz zmienionej bazy.
armata12
A powiedzcie jeszcze który rodzaj utf8 wybrać? Pewnie "utf8_polish_ci" dla treści wyłącznie w naszym języku.
Jeśli chodzi o wiele języków to czym różni się "utf8_unicode_ci" od "utf8_general_ci". Czy są jakieś różnice pod względem szybkości działania między wymienionymi 3 rodzajami?

---
Kurcze dopiero teraz zauważyłem że jest to dział PostgreSQL a mnie interesuje mysql, choć to w sumie wszystko jest oparte o sql ...
none
Witam
np. utf8_polish_ci to jest metoda porównywania znaków. Chodzi głownie o to ze przy sortowaniu stringów uwzględniać regionalne ustawienia np. w języku czeskim ch jest traktowane jako jedna litera wiec baza musi wiedzieć czy czlon ca ma byc przed ch czy po cz.
No troche namieszałem biggrin.gif
Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.