GRY-Online.pl --> Archiwum Forum

Do uzytkownikow MySQL i PHP: wyswietlanie polskich znakow

27.03.2005
18:00
[1]

CooN [ Generaďż˝ ]

Do uzytkownikow MySQL i PHP: wyswietlanie polskich znakow

Uzywam MySQL w wersji 4.1.7, czyli w miare nowej.
PHP w wersji 4.
Kod pisze w Macromedia Dreamweaver MX 2004.

We wszystkich powyzszych programach, kodowanie znakow ustawilem na latin2, czyli inaczej ISO-8859-2. I prawie jest ok. Prawie, bo mimo iz polskie znaki wyswietlane sa w konsoli mysql, Dreamweaver koduje strony rowniez prawidlowo, jednak problem powstaje gdy trzeba dane pobrac z bazy i wyswietlic na stronie (akurat w formularzu na liscie). Wtedy polskie znaczki zastepowane sa popularnymi krzkami.

Pytanie, to oczywiscie jak to rozwiazac.

Przypuszczam, ze Dreamweaver nie ma tu znaczenia, glowne podejrzenie pada na MySQL, w ktorym zauwazylem rzecz dziwna, a nastepujaca:

zmienne uzywane przez baze, wyswietlane poleceniem SHOW VARIABLES; w pewnym momencie pokazuja

character_set_client: latin1
character_set_connection: latin1
character_set_database: latin2
character_set_results: latin1
character_set_server: latin2
character_set_system: utf8

collation_connection: latin1_swedish_ci
collation_database: latin2_general_ci
collation_server: latin2_general_ci

To sa akurat zmienne, ktore powstaly na skutek wpisania do pliku konfiguracyjnego my.ini nastepujacych linijek:

[mysqld]
default-character-set=latin2
default-collation=latin2_general_ci

Dlaczego reszta zmiennych pozostaje latin1?
character_set_system akurat jest zawsze utf8 jak sie doczytalem w manualu, wiec ok, niech bedzie (zreszta, kodowanie utf8 tez powinno byc dobre dla polskich znakow).

Dodalem jeszcze:
[mysql]
default-character-set=latin2
default-collation=latin2_general_ci

ale to akurat niczego nie zmienia (a przypuszczam, ze powinno). Zmienne dalej sa takie, jak te powyzej.


27.03.2005
18:17
[2]

fanlegii79 [ Konsul ]

Kiedys mialem podobny poroblem, podczas polaczenia wysylalem chyba najpierw SET character_set_results="latin2" przed wlasciwym zapytaniem.

28.03.2005
17:23
[3]

CooN [ Generaďż˝ ]

Jeszcze ciekawostka.
Rezultaty z polskimi znakami wyswietlane w konsoli mysql, w wersji jakiej uzywam, sa poprawne tylko dla kodowania latin1. W zadnym razie nie dziala dobrze utf8 i latin2...
Czyzby tworcy mysql uznali, ze skoro polska juz w unii, to i zachodnie kodowanie tez dla nas dobre ;)

© 2000-2025 GRY-OnLine S.A.