nie ja
14.10.2005, 22:24:55
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
27.03.2006, 11:32:55
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
27.03.2006, 12:15:19
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
26.10.2006, 13:53:24
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 ...
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

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.