problem z pobraniem z bazy LMS danych - brak polskich znaków
Witam, zrobilem cos takiego:
1. po zablokowaniu komputera(ów) danego klienta przekierowuję go na stronę z informacją że zalega z płatnościami, 2. przekierowany jest on na stronkę, gdzie skrypt wyświetla mu jego saldo, więc wie jaki jest powód zablokowania, 3. wymyśliłem sobie że przy pomocy PHP mogę dodać jeszcze informację dodatkową do komunikatu (np. jesli klient ma saldo zerowe, a powiedzmy nie podpisał z nami jeszcze umowy lub skonczył mu się okres testowy, itp). Wykorzystalem do tego pole "treść powiadomienia" w edycji klienta.
Po wyciągnięciu danych z bazy, wszystko działa pięknie i ładnie poza jednym - w wyświetlanym komunikacie nie mam polskich znaków.
Dokument index.php z zawartością skryptu z ostrzeżeniem jest na 100% zakodowany w UTF-8, znacznik meta też właściwie ustawiony. Próbowałem na siłę wysłać nagłówek w php: header('Content-Type: text/html; charset=utf-8'); ale to też nie pomaga.
Dosyć długo szukałem w plikach LMS'a jak jest to tutaj zrobione ale nic ciekawego nie znalazłem. Z tego co widzę w pliku dbencoding.php nic specjalnego (jeżeli chodzi o mysql) nie jest wykonywane. Brak mi już sił. Pomóżcie.
Wersja LMS: 1.11.8 Belus (1.981/1.23) Wersja LMSDB: 1.11.8 Belus (1.47/1.54) Wersja MySQL: 5.0.32-Debian_7etch11-log Wersja PHP: 4.4.4-8+etch6 Wersja Smarty: 2.6.23
pozdr. McX
----- Original Message ----- From: "Maciej Kostyra" macx@dukla.pl To: "lista użytkowników LMS" lms@lists.lms.org.pl Sent: Tuesday, October 27, 2009 12:08 AM Subject: [lms] problem z pobraniem z bazy LMS danych - brak polskich znaków
Dosyć długo szukałem w plikach LMS'a jak jest to tutaj zrobione ale nic ciekawego nie znalazłem. Z tego co widzę w pliku dbencoding.php nic specjalnego (jeżeli chodzi o mysql) nie jest wykonywane. Brak mi już sił. Pomóżcie.
_______________________________________________
znalazłem coś takiego: dodać do my.cnf w sekcjach [client] oraz [mysqld] opcję: default-character-set=utf8 ale to też nie rozwiązuje problemu
znalazłem w necie inne (działające) wyjście z sytuacji:
wykonanie takiego zapytania: SET character_set_results=utf8 tuż przed zapytaniem właściwym rozwiązuje problem, ale wydaje mi się, że to półśrodek i że można to jakoś inaczej zrobić. Chyba że się mylę... (?)
pozdr. McX
----- Original Message ----- From: "Maciej Kostyra" macx@dukla.pl To: "lista użytkowników LMS" lms@lists.lms.org.pl Sent: Tuesday, October 27, 2009 12:45 AM Subject: Re: [lms]problem z pobraniem z bazy LMS danych - brak polskich znaków
----- Original Message ----- From: "Maciej Kostyra" macx@dukla.pl To: "lista użytkowników LMS" lms@lists.lms.org.pl Sent: Tuesday, October 27, 2009 12:08 AM Subject: [lms] problem z pobraniem z bazy LMS danych - brak polskich znaków
znalazłem coś takiego: dodać do my.cnf w sekcjach [client] oraz [mysqld] opcję: default-character-set=utf8 ale to też nie rozwiązuje problemu
znalazłem w necie inne (działające) wyjście z sytuacji:
wykonanie takiego zapytania: SET character_set_results=utf8 tuż przed zapytaniem właściwym rozwiązuje problem, ale wydaje mi się, że to półśrodek i że można to jakoś inaczej zrobić. Chyba że się mylę... (?)
pozdr. McX
_______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
Witam,
może ja odświeżę swój wątek, bo nie otrzymałem odpowiedzi, i nie wiem w końcu czy znalezione przeze mnie rozwiązanie jest jedyne i konieczne jest za każdym razem wykonywanie zapytania: "SET character_set_results=utf8".
Wydaje mi się że nie, ale jeśli się mylę to proszę o info.
pozdr. McX
Maciej Kostyra pisze:
----- Original Message ----- From: "Maciej Kostyra" macx@dukla.pl To: "lista użytkowników LMS" lms@lists.lms.org.pl Sent: Tuesday, October 27, 2009 12:45 AM Subject: Re: [lms]problem z pobraniem z bazy LMS danych - brak polskich znaków
----- Original Message ----- From: "Maciej Kostyra" macx@dukla.pl To: "lista użytkowników LMS" lms@lists.lms.org.pl Sent: Tuesday, October 27, 2009 12:08 AM Subject: [lms] problem z pobraniem z bazy LMS danych - brak polskich znaków
znalazłem coś takiego: dodać do my.cnf w sekcjach [client] oraz [mysqld] opcję: default-character-set=utf8 ale to też nie rozwiązuje problemu
znalazłem w necie inne (działające) wyjście z sytuacji:
wykonanie takiego zapytania: SET character_set_results=utf8 tuż przed zapytaniem właściwym rozwiązuje problem, ale wydaje mi się, że to półśrodek i że można to jakoś inaczej zrobić. Chyba że się mylę... (?)
pozdr. McX
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
Witam,
może ja odświeżę swój wątek, bo nie otrzymałem odpowiedzi, i nie wiem w końcu czy znalezione przeze mnie rozwiązanie jest jedyne i konieczne jest za każdym razem wykonywanie zapytania: "SET character_set_results=utf8".
Wydaje mi się że nie, ale jeśli się mylę to proszę o info.
Zależy jak masz ustawione opcje w my.cnf oraz jak masz "zrobioną" bazę. Jeśli w my.cnf nie masz nic (jak jest w default) to encoding jest brany albo z klienta albo z bazy Jeśli bazę masz np. w latin2 a przechowujesz w niej dane w utf8 to jest kupa.
U siebie uporządkowałem kodowanie dawno temu i teraz nie ważne czy z konsoli czy z www mam to samo, te same znaczki.
Wyciągnij sobie dupa bazy, otwórz np. firefoxem i zobacz jakie kodowanie masz w bazie, potem porównaj z tym jak masz stworzoną bazę, no i jak się łączysz. Potem zobacz czy z konsoli (nowoczesne linuxy mają konsolę utf8 default) masz polskie znaki.
Pozbieraj wszystkie dane do kupy i oceń, czy musisz sobie zrobić jeszcze raz bazę i załadować ją odpowiednio kodowanym plikiem.
paweł
Wyciągnij sobie dupa bazy, otwórz np. firefoxem i zobacz jakie kodowanie masz w bazie, potem porównaj z tym jak
Hmmm. Chyba myślałem o dupie... oczywiście chodziło mi o DUMPA
;) dodam tylko do tego co Ci Pawel napisal ze jesli baze masz w latin a dane w niej sa w utf8 to przy robieniu dumpa wymus zapis danych w utf8 inaczej dostaniesz krzaki zamiast polskich znakow. potem nalezy zmienic w dumpie wpisy "latin" na "utf8", nastepnie zakladasz baze w utf8 i odtwarzasz reszte z dumpa. po tym zabiegu wszystko bedzie po Bozemu, calosc nie powinna zajac wiecej jak 15 minut :)
uczestnicy (3)
-
Maciej Kostyra
-
Paweł Rohde
-
Robert