Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa MyMenuGen, Problem z polskimi znakami
ravczy
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 18.05.2003

Ostrzeżenie: (0%)
-----


WItam,

Zainteresowałem się klasą MyMenuGen, (http://www.phpclasses.org/browse/package/3778.html) która generuje automatycznie menu rozwijane. Używa PHP i MySQL. Największy problem sprawiają mi polskie znaki w menu. Wpisując np. Strona główna pojawiają się krzaczki, natomiast w bazie danych wartość ta zapisuje się następująco:

Strona główna

Klasa przedstawia się bardzo obiecująco. Panel administracyjny pozwala na dodawanie nowych pozycji do bazy. Chciałem to wykorzystać w moim projekcie, lecz przeszkodą są te polskie znaki.

Może ktoś z was zna inną klasę która działa by podobnie lub zetkną się z MyMenuGen i potrafi mi pomóc.

Pozdrawaim
Ravczy


Pod tym linkiem http://lesinski.biz/projekty/menu/example2.php każdy może potestować ten skrypt i sprawdzić jego działanie. Może się ktoś do niego przekona i pomoże w rozwiązaniu problemu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ravczy
post
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 18.05.2003

Ostrzeżenie: (0%)
-----


w dokumencie XHTML mam zdeklarowany język polski oraz kodowanie utf-8. Dodałem SET NAMES utf-8, ale to niestety nie pomaga. Faktycznie jest coś na styku przeglądarka a baza danych.

Dziwne jest to co pojawia się w bazie danych, czyli znaki typu :

śąś

zamiast

śąś

zawsze poawialy się znaki zapytania, albo coś w tym stylu. Wałczę z tym już kilka godzin i nadal bezskutecznie.

Zauważyłem też jedną rzecz. Jeśli dane zmienie z PHPMYADMIN to polskie znaki się ładnie wyświetlają. Jeżeli chociażby dokonam edycji danych przez formularz na stronie, to znaki znowu się posypują i pojawiają się znaczki.


Pod dłuższym czasie doszedłem do wniosku, że to nie wina kodowania po stronie MySQL ani PHP. Okazało się, że autor klasy użył funkcji html_entity_decode, co powodowało dziwne zachowanie całości kodu.
Przy metodzie $myMenu->generateMenuStructure autor nie użył tej funkcji i stąd cały problem. Wystarczyło wywołać metode poprzez html_entity_decode($myMenu->generateMenuStructure(), ENT_QUOTES); i wszystko gra (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

w example.php w lini około 94 trzeba użyć też html_entity_decode($myMenu->menu_title, ENT_QUOTES);

Pozdrawaim
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 14:32