Błędnie wyświetlanie polskich znaków
Strona 1 z 2 12 OstatniOstatni
Wyniki 1 do 10 z 11

Temat: Błędnie wyświetlanie polskich znaków

  1. #1
    Nowicjusz
    Dołączył
    29-02-2016
    Skąd
    Mazowieckie
    Wpisy
    14
    Punkty
    2

    Joomla! 1.0 Błędnie wyświetlanie polskich znaków

    Próbowałem zmienić kodowanie bazy danych na utf-8 z iso-8859-2 i wyświetlają mi się na stronie (i zapleczu) '?' zamiast polskich znaków. Konwersji dokonałem polskim programem Gżegżółka.
    Zmieniłem kodowanie w pliku szablonu również na utf-8 (było iso-8859-1)

    Ma ktoś jakąś poradę?

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Nowicjusz
    Dołączył
    29-02-2016
    Skąd
    Mazowieckie
    Wpisy
    14
    Punkty
    2

    Domyślny

    Dodam, że przeniosłem witrynę z serwera na Xampa.
    Zostawiłem kodowanie iso-8859-2 i również nie ma polskich znaków.
    Zauważyłem że plik SQL (pobrany z serwera) jest w formacie Windows-1250. Próbowałem wgrywać go bez zmian, ale metoda porównywania napisów ustawia się na utf-general-ci.

    Edit: Po zaimportowaniu bazy wszystkie polskie znaki w PhpMyAdmin są, ale wyświetlanie ich na stronie i zapleczu jest błędne.

  4. #3
    Senior zwiastun awatar
    Dołączył
    20-09-2005
    Wpisy
    27 315
    Punkty
    1142

    Domyślny

    1. Wyeksportuj plik sql z serwera
    2. Odczytaj plik w edytorze Notepad++ tak, by widzieć polskie znaki (powinien rozpoznać format automatycznie, jeśli nie rozpozna, spróbuj ustalić właściwy format za pomocą opcji w zakładce Format
    3. Skorzystaj z funkcji w zakładce Format edytora: Konwertuj do UTF-8 bez BOM.
    4. Odszukaj i zamień w pliku literały definiujące kodowanie (w deklaracjach tabel) - literały zaczynające się od COLLATE i od CHARSET
    5. Zapisz zmodyfikowany plik i zaimportuj go do nowej bazy
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  5. #4
    Nowicjusz
    Dołączył
    29-02-2016
    Skąd
    Mazowieckie
    Wpisy
    14
    Punkty
    2

    Domyślny

    Nie mam COLLATE, ale CHARSET jest ustawiony na Latin2. Na co mam zamienić?

  6. #5
    Nowicjusz
    Dołączył
    29-02-2016
    Skąd
    Mazowieckie
    Wpisy
    14
    Punkty
    2

    Domyślny

    Sprawdziłem dokładnie - przed konwersją mam zamiast ó mam ó a reszta jest bez zmian (ł to ł, ń to ń, itd.). Po konwersji jest to samo.
    W PhpMyAdmin wyświetlają się poprawnie wszystkie znaki, a nie ó. Natomiast na stronie jest na odwrót.

  7. #6
    Nowicjusz
    Dołączył
    29-02-2016
    Skąd
    Mazowieckie
    Wpisy
    14
    Punkty
    2

    Domyślny

    Jest tego więcej:   – „ ” " ¼
    Zmieniłem ó na ó i dobrze się wyświetla i na stronie i w PhpMyAdmin.

    EDIT: Zamieniłem znaki polskie (te które się nie wyświetlają) na odpowiednie encje HTML, np. ł = ł. I teraz działa

  8. #7
    Nowicjusz
    Dołączył
    29-02-2016
    Skąd
    Mazowieckie
    Wpisy
    14
    Punkty
    2

    Domyślny

    @Zwiastun Możesz usunąć temat, bo jednak nie wszystko jest dobrze Założę nowy, jak dokładniej sprawdzę błędy. Sory za zamieszanie.

  9. #8
    Senior zwiastun awatar
    Dołączył
    20-09-2005
    Wpisy
    27 315
    Punkty
    1142

    Domyślny

    Baza musi być kodowana w utf8 (utf8_general_ci, a jeszcze lepiej utf8_polish_ci (różnica między polish a general ma znaczenie dla sortowania danych - z polish sortuje zgodnie z zasadami języka polskiego).

    Powinieneś więc stworzyć bazę danych z takim kodowaniem i do takiej bazy zaimportować dane przygotowane w sposób, jaki Ci opisałem wcześniej.
    Gdy importujesz nawet poprawnie kodowany plik (chodzi o kodowanie jezyka) do bazy zdefiniowanej w latin2, to silnik bazy danych dokonuje przekodowania znaków na nazwane encje, które widzi program do obsługi bazy danych, ale juz niekoniecznie program obsługujący witryne (w tym przypadku Joomla). Ponadto w szablonie nie powinieneś miec wpisanego kodowania na sztywno, ale za pomocą instrukcji php odczytującej język witryny z konfiguracji.
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  10. #9
    Nowicjusz
    Dołączył
    29-02-2016
    Skąd
    Mazowieckie
    Wpisy
    14
    Punkty
    2

    Domyślny

    Cytat Wysłane przez zwiastun Zobacz wiadomość
    Ponadto w szablonie nie powinieneś miec wpisanego kodowania na sztywno, ale za pomocą instrukcji php odczytującej język witryny z konfiguracji.
    Kod PHP:
    <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO?>" />
    Tak mam w templatce.

    A czy mam dać CHARSET = utf8_polish_ci? Bo to nie działa. Działa zwykłe utf8. A w phphMyadmin mam ustawić Metodę porównywania napisów na utf8_polish_ci?

  11. #10
    Nowicjusz
    Dołączył
    29-02-2016
    Skąd
    Mazowieckie
    Wpisy
    14
    Punkty
    2

    Domyślny

    To co zrobiłem:
    1. Otworzyłem baze w notatniku.
    2. Sprawdziłem, że jest kodowanie ANSI
    3. Format > Konwertuj na format UTF-8 (bez BOM)
    4. Zmieniłem CHARSET na utf8
    5. Zaimportowałem jako utf8


    Wciąż problem ze znakami.


    Metoda porównywania napisów: utf8_general_ci

Strona 1 z 2 12 OstatniOstatni

Podobne tematy

  1. Błędnie wyświetlany Description
    przez Slither na forum Off topic
    Odpowiedzi: 1
    Ostatni post/autor: 30-07-2014, 10:48
  2. błędnie wyświetlany baner
    przez polischmen na forum Administracja - ogólnie
    Odpowiedzi: 3
    Ostatni post/autor: 10-08-2011, 22:34
  3. Flip photo pro - Jak ustawić wyświetlanie na bannerze polskich znaków?
    przez dominik123 na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 4
    Ostatni post/autor: 03-02-2011, 23:45
  4. błędnie wyświetlany tytuł kategorii
    przez dfa51 na forum Szablony, wygląd, formatowanie
    Odpowiedzi: 11
    Ostatni post/autor: 27-07-2010, 20:42
  5. Wyświetlanie polskich znaków
    przez mbx na forum VirtueMart
    Odpowiedzi: 4
    Ostatni post/autor: 02-09-2008, 12:35

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •