Domyślne kodowanie 5.6 może wywołać błędy na stronie

ToAr Ceneo Widget 0.3
26 November 2015
Pokaż wszystko

Domyślne kodowanie 5.6 może wywołać błędy na stronie

Szybka uwaga dla każdego kto zaktualizował swoją wersję PHP z 5.4 lub 5.5 do 5.6: Wartość default_charset w pliku php.ini zostało zmienione z pustej wartości do UTF-8. To może sprawić, że zawartość na niektórych stronach może wyświetlać się niepoprawnie, szczególnie w przypadku kodowania ISO-8859-2 ze strony znikają polskie znaki.

Domyśle ustawienie kodowania w PHP 5.4 i PHP 5.5 było puste, w związku z tym zawartość wyświetlała się poprawnie. Jednak w PHP 5.6 parametr default_charset ma domyślnie ustawione UTF-8, co oznacza, że PHP 5.6 zawsze będzie zwracać w nagłówku odpowiedzi kodowanie UTF-8.

Content-Type: text/html; charset=UTF-8

W związku z tym jak rozwiązać ten problem? PHP wspiera zdefiniowane przez użytkownika pliki php.ini, gdzie możesz nadpisać pewne ustawienia z głównego pliku konfiguracyjnego PHP. W związku z tym możesz dodać do katalogu swojej strony plik php.ini, w którym dodasz poniższą linijkę:

default_charset = "ISO-8859-2"

To sprawi, że PHP nie wyśle domyślnego kodowania UTF-8 do nagłówka odpowiedzi, ale kodowanie ISO-8859-2.

Również w pliku PHP możesz narzucić domyślne kodowanie poprzez zostanie wartości:

ini_set(default_charset, "ISO-8859-2");

Leave a Reply

Your email address will not be published. Required fields are marked *

12 − three =

This site uses Akismet to reduce spam. Learn how your comment data is processed.

//]]>