Skocz do zawartości

Smarty – problem z kodowaniem znaków


Ronin_rs

Rekomendowane odpowiedzi

Witam,

Mam serwis oparty na systemie szablonów *.tpl czyli Smarty. Od dłuższego czasu temat kodowania znaków był mi zupełnie obojętny gdyż wszystko wyświetlało się jak należy (byli polskie znaki itd). Od razu powiem, że system CMS, który zarządza moim serwisem ma kodowanie ISO 8859-2. Wszablonie tpl o nazwie head.tpl gdzie mam wszystkie head’owe rzeczy również jest kodowanie:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"/>

I tak jak wspomniałem wcześniej w ogóle na to nigdy nie zwracałem uwagi, aż tu parę miesięcy temu gdy zaktualizowałem Firefoxa do jakiejś nowszej wersji zaczęły się problem, a mianowicie, gdy wchodze na moj serwis albo od razu, albo dopiero gdy pochodze po jego podstronach pojawia mi się taki oto błąd jak widać poniżej.

b60e54fa.jpg

Poczytałem o tym błędzie w necie, m.in. w pomocy technicznej Mozilli. Nić mądrego tam raczej nie wyczytałem. Proponują po pierwsze w firewallu ustawic w kotroli programow firefoxa na YES czyli zezwolic mu na wszystko. No to jest chyba logiczne, bo jakby był zablokowany to zadnej strony bym nie otworzyl. Oprócz tej jakze cennej rady wyczytałem, ze należy przeisntalwoac firefoxa czy coś tam tego typu jeszcze. Oczywiście to wszystko bzdury. Jeszcze oprocz mojego pcta testowalem ten blad z mojego laptopa i sytuacja jest taka sama. Na obydwu komputerach mam zainstalowanego Norton Internet Security ale nie chce mi się Wierzyc ze to jego wina. Zwlaszcza, ze wszystkie inne strony oprocz wlasnie tego mojego serwisu przegladam normalnie i nigdzie takiego bledu nie miałem. Tak więc olałem nowszą wersję firefoxa i zaisntalwoalem u siebie powrotem wersje Firefox 12 – na tej wersji wszystko smiga jak należy. Oprocz pomocy technicznej mozilli poczytałem jeszcze conieco w innych miejscach i sporo osob ma dokaldnie ten sam problem, a raczej mialo bo to były raczej starsze posty na forach. Oni mieli tego typu problemy nawet przy allegro czy dobre programy.pl. Wiec pocieszyłem się, ze to może nie jest wina mojego serwisu tylko cos z tymi przeglądarkami nie tak jest? Zwłaszcza ze od moich czytelnikow nie miałem zadnych sygnałów ze cos jest nie tak z moja strona. No więc dzisiaj postanowiłem zaktualizowac firefoxa do najnowszej 17 wersji licząc ze to był jakis Bug przeglądarki, no ale niestety nie. Problem cały czas jest ten sam…

Owy bład daje mi do zrozumienia, że jest jakiś błąd z kodowaniem mojej strony, wiec pomyślałem, że może warto zmienić z tego ISO-8859-2 na UTF-8. Może wtedy problem zniknie gdy to kodowanie będzie nowsze. Tak też zrobiłem, a mianowicie w pliku head.tpl zmieniłem mu z ISO na utf. Niestety wtedy na stronie pojawiły się zamiast polskich znaków krzaczki. Ale kraczki były tylko w tych miejscach, w których treść była generowana z CMSa. W niektórych miejscach dopisałem trochę tekstu bez CMSa, po prostu edytując jakis tam plik tpl i piszac dany tekst w jakimś tam miejscu. No i zostawiłem te krzaczki i przesiadłem się na laptopa na najnowsza wersje firefoxa żeby sprawdzic czy dziala, no ale mimo iż było utf8 i te krzaczki to dalej wyskakiwal ten blad. Stwierdzilem, ze skoro są te krzaczki a nie polskei litery to mzoe ten UTF mimo ze jest odany w META nie dziala tak jak powinien działać. Tylko nie bardzo wiem co teraz mogę zrobić, i tak oto po tym jakze długim wstepie zwracam się do was z wołaniem o pomoc…

- Jak w smartach zrobic kodowanie utf-8 żeby nie było krzaczkow?

- Czy w ogóle jest sens, że zmieniam to kodowanie, bo może ten błąd nic nie ma wspólnego z kodowaniem ISO a UTF?

- Tak jak jest obecnie czyli kodowanie ISO to tekst dodawany do strony za pomoca CMSa wyswietla się poprawnie (polskie znaki) natomiast ten tekst, który na zywca dopisałem do edytując pliki *.tpl nie maja polskich znaków. Nie ma tez krzaczków, po prostu z ł zrobiło się l i z ą zrobiło się a itd. Itd.

Pomoże mi ktoś rozwiązać ten problem, bo już kolejny dzień szperam po necie za rozwiązaniem, kombinuje i nic mi z tego nie wychodzi :

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

imo błąd dotyczy czegoś innego niż kodowanie strony/pików jakimś tam standardem znaków

przeczytaj no jeszcze raz obrazek który wkleiłeś :)

Odnośnik do komentarza
Udostępnij na innych stronach

j.w. błąd raczej nie dotyczy kodowania znaków a przesyłanych nagłówków.

Podobny problem jest w Prestashop i niektórych serwerach. Prohost w skrócie opisał możliwą przyczynę (jest gdzieś na forum ten temat).

Kody na tanie VPSy i hostingi SEO: 2KT7-JFNM-63E8 , EK6B-1JUJ-M9T6 , R3J5-RCNE-SPH4 , E8NR-U9N3-1TU7 , 3TEH-47B3-2HM6 = rabat 25%
Odnośnik do komentarza
Udostępnij na innych stronach

W pliku głównym index.php wstaw na początku wysłanie nagłówka:

header('Content-Type: text/html; charset=iso-8859-2');

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

@ę wchodzi już tego nie ma, ale jak otwieram kolejno działy z menu to tam się w końcu pojawi za którymś razem...

Czego nie ma ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

No tego błedu, z kodowaniem zawartości, którego screen zamieściłem w pierwszym poście. Na stronie głównej się nie wyswietla tylko jak chodze po podstronach to tam zaraz znowu wywala ten blad :/

Tak przy okazji czy starsza wersja SMARTOW moze byc temu winna? bo nie aktulizowalem bardzo dawno. Prawde mowiac to nie bardzo wiem jak to zrobic zeby nie popsuc serwisu? Bardzo to jest skomplikowane taka aktualizacja smartow? Czy to nie ma nic wspolnego z tym bledem ?

Odnośnik do komentarza
Udostępnij na innych stronach

Może też być wina błędu w kompresji stroni nie koniecznie kodowania. Kodowania bardziej były by krzaki na stronie.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Bo problem mam i zostałem z nim sam, a programista nie jestem żeby to mieć w jednym palcu - Help me please
Czasami sama instrukcja wymiany klocków hamulcowych nie wystarczy, by kierowca był wstanie je wymienić. I tu sprawa wygląda podobnie - jeśli ty nie wiesz co to jest kompresja itd.. raczej musisz "jechać do mechanika".

Nie na wszystko da się jednoznacznie odpowiedzieć na łamach forum bez diagnozowania aplikacji.

c'est la vie

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności