Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Nagły brak polskich znaków
Forum PHP.pl > Forum > Przedszkole
Vasquez21
Witam wszystkich,

Posiadam hosting na home.pl
Od kilku lat działa tam mój sklepik, ale kilka dni temu zacząłem otrzymywać maile od klientów że nie mogą złożyć zamówień.
Po wejściu na stronkę okazało się, że nie wyświetlają się polskie znaki. Zamiast nich mam: �

Sprawdziłem serwer czy nie pozmieniały się pliki czy coś, ale ostatnie zmiany były w kwietniu. Próbowałem się kontaktować z home.pl ale powiedzieli mi że ich techniczni są dostępni dopiero od poniedziałku... jakaś masakra.
Stronka ma kodowanie iso-8859-2
Zarówno dane z czytane z bazy jak i te na sztywno nie są poprawnie wyświetlane...
Bardzo bym prosił o pomoc, co można ewentualnie sprawdzić.
Neutral
Zmień kodowanie na utf8, a w edytorze na utf8 bez BOM.
Vasquez21
To nie jest takie proste...
Może jeszcze raz zaznaczę wszystko działało i nie było żadnych zmian po stronie kodu. Dopiero od dwóch dniach coś przestało działać.
Zmiana kodowania nie jest prosta, bo musiałbym ręcznie w wielu miejscach zmieniać wszystko: kod, skrypty, baza...
Neutral
Czy zmieniałeś wersję PHP? jeśli tak to namierzenie błędu, które powoduje zmianę kodowania może być trudne. Kiedy to było? Czy 26 Apr 2018? http://php.net/downloads.php
Sprawdź wersję PHP, napisz to:
  1. <?php
  2. ?>

. https://pl.wikipedia.org/wiki/Kodowanie_polskich_znak%C3%B3w https://dev.w3.org/html5/html-author/charref

Może spróbuj tą funkcją sprawdzić kodowanie u siebie na stronie:
http://php.net/manual/en/function.mb-detect-encoding.php.
http://computersun.pl/xhtml/porady/polskie...d-iso-w_44.html
Vasquez21
Hey, sprawdziłem:
Mam wersję: PHP Version 5.2.17

Ja sam nie zmieniałem, ale nie wiem czy home.pl nie upgrade'ował czy coś...
Neutral
Może zmieniałeś przypadkiem, czy coś kodowanie z:

charset=iso-8859-2

, gdzieś na stronie/stronach.

Napisz może tak:

  1. <!DOCTYPE html>
  2. <title>Title Page</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  4. </head>


Może spróbuj tego:
https://forum.webhelp.pl/php-i-bazy-danych/...pl-t176916.html
Vasquez21
Nic nie zmieniałem i jak patrzę na pliczki na ftpie to jakby to potwierdzają... sad.gif
Wpis który wrzuciłeś mam u siebie właśnie tak.
Kodowanie przestało działać 2 dni temu, od tego czasu mam problem i maile od klientów.

Dzięki za link ale on jest bardziej do bazy, a mi nie wyświetla ani znaczków z bazy ani bezpośrednio z htmla.
Neutral
Poczytaj ten temat, powinien pomóc:
https://4programmers.net/Forum/PHP/201723-k...kow_na_serwerze

Pozwól, że zacytuję:

Cytat
wyślij nagłówek z kodowaniem:

header('Content-Type: text/html; charset=utf-8');

Oczywiście zamiast utf-8 - kodowanie, którego użyłeś. Wysyłając pliki przez FTP zaznacz też binary mode lub coś w tym stylu (nie text mode lub ascii mode) - na wszelki wypadek. Jak nie pomoże to najlepiej jakbyś dał URL.


U siebie możesz zmienić na charset=iso-8859-2.
Vasquez21
Dzięki wielkie! Pomogło.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.