![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 29.04.2002 Skąd: jesteś? Ostrzeżenie: (0%) ![]() ![]() |
dwa zapytania:
oraz
Zwraca za każdym razem ten sam zestaw rekordów. Czy istnieje jakaś możliwość na to aby mysql rozrózniał polskie znaki ? Wersja MYSQL: 4.0.24 Czy mam podać jeszcze jakieś dane, które bedą pomocne w rozwiązaniu tego problemu? ----edit---- Poprawiłem, ale następnym razem proszę używać bbCode, a dokłądnie znaczników [ sql ] w przypadku zapytań. ~mike_mech -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 27.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym się dołączyć do pytania - ma dokładnie taki sam problem tzn. z wyświetleniem z bazy przy uzyciu SELECT poprawnych wartosci, własnie wówczas gdy występuje m.in. takie słowo z "ń" i "n" na końcu wyrazu.
Prosiłbym o pomoc w tej sprawie. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 29.04.2002 Skąd: jesteś? Ostrzeżenie: (0%) ![]() ![]() |
Ale znaki pobieraja sie poprawnie, wszystkie polskie znaki sa widoczne.
chodzi o sam select. jak w zapytaniu wyslac te polecenia? -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 27.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
No własnie ja znaki w bazie też mam poprawnie wyświetlane, a nawet przy użyciu przed wszelkich wyciagnaniem tych instrukcji z ustawieniem na latin2 dalej jest problem i nie rozroznia słow z "ń".
A troche juz probowałem tych kombinacji... i sam sie zastanawiam czy napewno w tych SET NAMES i SET CHARACTER tkwi problem... :] Edit -> A jednak Koshin to jest z tym związane choc mi osobiscie te instrukcje SET NAMES itp. cos nie dzialaja... ale dopisałem sobie na sztywno w my.ini (pod win. ale pod linuxem analogicznie): [client] default-character-set=latin2 [mysqld] default-character-set=latin2 Niestety jesli wystawiasz strone gdzies na serwerze musisz admina poprosic o zmiane. Ja mam jednak mysql-a jeszcze 4.0.15 i mozliwe, ze dlatego nie dzialają mi te funkcje ale do konca nie jestem pewien. W kazdym razie jak masz nowszą wersje bodajze od 4.1.X wzwyz to nie musisz zmieniac nic w plikach konfiguracyjnych i wystarczy najprawdopodobniej prawidłowo ustawic kodowanie znaków w danej tabeli (moze tez bazie), z której pobierasz dane, systemu porownan oraz przy wyswietlaniu na stronie (jesli domyslnie nie jest takie jak w bazie - tym SET NAMES itp.). Generlanie mniej wiecej musza one zgadzac (np. latin2) choc sa tez rozne inne warianty z tego co wyczytalem. Ten post edytował marekk 28.09.2005, 10:04:45 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 28.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 27.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Ale to wcale nie jest rozwiazanie. Ja probowalem wszelkich ustawien z poziomu php-a ale nestety przy starej wersji mysql-a zadne nie poszlo. A dawalem w roznych kombinacja i pojedynczo i razem m.in:
mysql_query("SET NAMES 'latin2'",$link); mysql_query("SET CHARACTER SET 'latin2'",$link); mysql_query("character_set_client=latin2", $link); mysql_query("character_set_connection=latin2", $link); mysql_query("character_set_database=latin2", $link); mysql_query("character_set_results=latin2", $link); mysql_query("character_set_server=latin2", $link); mysql_query("collation_connection=latin2_general_ci", $link); mysql_query("collation_database=latin2_general_ci", $link); mysql_query("collation_server=latin2_general_ci", $link); Wszystko zalezy chyba od tego jaka masz wersje mysla-a... bo od nowszej 4.1.X jest wieksze pole manewru i mozliwe, iz wtedy przy oiwyzszych ustaiweniach problemy znikaja. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 2.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(marekk @ 2005-09-28 19:39:39) mysql_query("SET NAMES 'latin2'",$link); mysql_query("SET CHARACTER SET 'latin2'",$link); mysql_query("character_set_client=latin2", $link); mysql_query("character_set_connection=latin2", $link); mysql_query("character_set_database=latin2", $link); mysql_query("character_set_results=latin2", $link); mysql_query("character_set_server=latin2", $link); mysql_query("collation_connection=latin2_general_ci", $link); mysql_query("collation_database=latin2_general_ci", $link); mysql_query("collation_server=latin2_general_ci", $link); I tak za każdym razem? Tzn. na początku każdego skryptu odwołującego się do bazy? latet |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:41 |