Cytat
W związku ze zmianami kodowania baz prosimy o zastosowanie tych metod celem ustrzeżenia się przed usterkami na stronach Państwa klientów. Bazy od dziś będą kodowane systemem standardowym dla Polski czyli iso-latin2 (iso8859-2)
Bazy które miały ustawione kodowanie na latin1 (iso8859-1)
a znaki w bazie zakodowane były w latin2 (ustawienia niestandardowe
stosowane w starych bazach) powinny być przekodowane do
latin2.
Być może nie każdy wie jak to zrobić, wystarczy więc
w pliku w którym występuje połączenie do bazy zaraz
po połączeniu do bazy (BD_CONN) wysłać następujące
zapytanie SQL:
$db->sql_query("SET NAMES latin1");
które zmieni ustawienie domyślne połączeń serwera z latin2 na latin1.
Każdy użytkownik może w ramach swojego oprogramowania,
dokonać samodzielnie zmian wszystkich parametrów serwera
bez względu na to jakie są ustawienia domyślne:
$db->sql_query("SET character_set_connection=latin1");
$db->sql_query("SET character_set_client=latin1");
$db->sql_query("SET character_set_results=latin1");
Sam również może zmienić kodowanie bazy na dowolne
jakie mu pasuje.
Informujemy iż rozwiązanie gdzie baza kodowana jest w latin1
a znaki w niej wprowadzone są kodowane w latin2 jest
rozwiązaniem niepoprawnym gdyż polskie znaki są błędnie
rozpoznawane przez bazę (np. w sytuacji kiedy wyświetlamy
wyniki w kolejności alfabetycznej) problemy z ich rozpoznaniem
będą również w nowych wersjach phpMyAdmin który
obsługuje tylko standardowe systemy kodowania.
Dodam jeszcze że mając poprawne kodowanie bazy i znaków w latin2
w prosty sposób możemy zmienić kodowanie strony WWW na UTF-8
czyli standard międzynarodowy, wystarczy więc tylko ustawić przy
połączeniu do bazy system połączeń na utf8:
$db->sql_query("SET NAMES utf8");
i na stronie www zmienić charset na uft-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
w ten sposób mamy stronę zakodowaną w utf-8 bez konieczności
jakichkolwiek zmian w bazie.
Polecamy te rozwiązanie.
Administracja
Bazy które miały ustawione kodowanie na latin1 (iso8859-1)
a znaki w bazie zakodowane były w latin2 (ustawienia niestandardowe
stosowane w starych bazach) powinny być przekodowane do
latin2.
Być może nie każdy wie jak to zrobić, wystarczy więc
w pliku w którym występuje połączenie do bazy zaraz
po połączeniu do bazy (BD_CONN) wysłać następujące
zapytanie SQL:
$db->sql_query("SET NAMES latin1");
które zmieni ustawienie domyślne połączeń serwera z latin2 na latin1.
Każdy użytkownik może w ramach swojego oprogramowania,
dokonać samodzielnie zmian wszystkich parametrów serwera
bez względu na to jakie są ustawienia domyślne:
$db->sql_query("SET character_set_connection=latin1");
$db->sql_query("SET character_set_client=latin1");
$db->sql_query("SET character_set_results=latin1");
Sam również może zmienić kodowanie bazy na dowolne
jakie mu pasuje.
Informujemy iż rozwiązanie gdzie baza kodowana jest w latin1
a znaki w niej wprowadzone są kodowane w latin2 jest
rozwiązaniem niepoprawnym gdyż polskie znaki są błędnie
rozpoznawane przez bazę (np. w sytuacji kiedy wyświetlamy
wyniki w kolejności alfabetycznej) problemy z ich rozpoznaniem
będą również w nowych wersjach phpMyAdmin który
obsługuje tylko standardowe systemy kodowania.
Dodam jeszcze że mając poprawne kodowanie bazy i znaków w latin2
w prosty sposób możemy zmienić kodowanie strony WWW na UTF-8
czyli standard międzynarodowy, wystarczy więc tylko ustawić przy
połączeniu do bazy system połączeń na utf8:
$db->sql_query("SET NAMES utf8");
i na stronie www zmienić charset na uft-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
w ten sposób mamy stronę zakodowaną w utf-8 bez konieczności
jakichkolwiek zmian w bazie.
Polecamy te rozwiązanie.
Administracja
I mam problem co mam zrobic wrzucalem nowa baze juz 6 razy probowalem rozne kodowania z mysql ale nic kodowania strony na UTF-8 nie zmienie napewno ale jest jeden wyjatek w panelu admina mam normalnie polskie znaki jak dodam powiedzmy kategorie potem normalnie sie wyswietla ale na stronie juz nie czym to moze byc spowodowane

define('CHARSET', 'iso-8859-2');
w pliku admina takie samo wiec ja juz nie wiem
