![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 16.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Ostatnio robie pewna stronke w Webspellu i pojawil mi sie dosc nietypowy problem z kodowaniem znakow. Otoz jezeli napisze newsa, komentarz czy jakiegos posta w systemie Webspell, polskie znaki sa wyswietlane w takiej formie: ę, ó, ą, ś, ł, ż, ź, ć, ń. Z pozoru wydaje sie ze jest wszystko okej ale w bazie danych te znaki sa zapisywane w takiej formie: ê, ó, ±, ¶, ³, ¿, ¼, æ, ñ I w przypadku kiedy wejdzie sie na edycje postu (newsa, artykulu itp) to wowczas wczytywane sa z bazy te znaczki i jezeli da sie zapisz, znowu sa w niej zapisywane, jako kod HTML tych znakow: ê, ó, ±, ¶, ³, ¿, ¼, æ, ñ (choc wyświetlane juz beda tak jak powyzej) kodowanie mam ustawione na iso-8859-2 kodowanie mysql na utf8-polish-ci Moje pytanie sie tyczy tego czy jest to wina php i zapisu danych do BD, czy moze wina lezy po stronie kodowanie BD. Zaznacze jednak ze uzywam na tej samej BD forum SMF i dziala bez problemu. Dlatego zwracam sie z prosba do was. Szukalem w google o kodowaniu w Webspellu badz czy ktos ma podobny problem. I nic nieznalazlem odnosnie Webspella zas znalazlem ze nie tylko ja mam z tym problem. Jezeli beda potrzebne jakies pliki przykladowe badz inne informacje na temat tego CMS'a by pomoc mi w rozwiazaniu tego problemu prosze pisac. Ten post edytował Xajan3981 28.12.2006, 00:48:13 |
|
|
-Kulbak- |
![]()
Post
#2
|
Goście ![]() |
Nie wiem czy to pomoże - ale miałem podobny problem i właśnie przed chwilą go rozwiązałem =)
Używałem formularza do zapisu danych w bazie. Stronę kodowałem w UTF-8. Bazę danych skonfigurowałem na utf8_polish_ci lub utf8_bin (dla różnych kolumn tabeli, dla testów). W obu przypadkach po wpisanu danych do formularza nie wyświetlały się one jako polskie litery, ale jako kod html (dla utf_polish_ci z wyjątkiem ó które pozostawało bez zmian, wyświetlane w oryginale) lub jakiś dziwny nawias kwadratowy (dla utf8_bin). Po odczytaniu danych z bazy i wyświetleniu ich na stronie internetowej wszystkie litery były wyświetlane jednak w obydwu przypadkach prawidłowo - nie dotyczyło to jednak wspomnianej litery ó. Zamiast niej pojawiał się znak zapytania, pomimo tego, że strona wyświetlania również była w standardzie utf-8. Roziązanie: do formularza dodałem linijkę <meta http-equiv="content-type" content="text/html; charset=utf-8" /> - MySQL zaczął zapisywać inne symbole, a dane pobierane z bazy wyświetlane tym samym sposobem były już prawidłowe. Jest to więc problem z danymi wysyłanymi do bazy, nie z bazą. Mam nadzieję że pomogłem =) HOWK! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 02:28 |