Aug 07

Zagrożenia związane z używaniem UTFa w PHP

Tag: PHPdooshek @ 10:33

Natknąłem się na fajną
stronkę która opisuje problemy i ryzyka związane z używaniem UTFa w PHP - wyszczególnione są różne phpowe funkcje - moim zdaniem “must have” dla każdego programisty PHP.

8 Responses to “Zagrożenia związane z używaniem UTFa w PHP”

  1. Rafał Piekarski says:

    Wydaje mi się, że większość jak nie wszystkie problemy rozwiązuje używanie MultiBajtowych funkcji PHP, czyli mb_strlen zamiast strlen, mb_strpos zamiast strpos etc. (więcej: http://pl.php.net/mbstring ) Można również podmienić nimi zwykłe funkcje php, tzn. każdą funkcję “normalną” zastępujemy tą multibajtową i wówczas nie odczuwamy różnicy przy pisaniu bo i tak napisanie np. str_split wywoła mb_str_split.

    Używanie tych funkcji jest bezpieczne dla wszystkich polskich ogonków. Wiecej info z linku powyżej. ;-)

    Rafał.

  2. Rafał Piekarski says:

    Konfiguracja tej zamiany funkcji zwykłych na multibajtowe to ustawienie w konfiguracji:

    mbstring.func_overload = “1″

    wiecej: http://pl.php.net/manual/en/mbstring.configuration.php

  3. skowron says:

    “mbstring is a non-default extension” … i niestety nie na wszystkich serwerach tą przyjemnością można sie raczyć. Poza tym jak widać problem nie dotyczy tylko operacji na stringach.

  4. dooshek says:

    No niestety tak różowo to nie wygląda - imho “overloading” jest niebezpieczny, może spowodować, że to co działało dobrze już nie działa. Wydaje mi się też (jestem prawie pewien), że wszelkie hostingi (home.pl, nazwa itp.) niestety nie dadzą Ci takiej możliwości ustawienia func_overload…

  5. Rafał Piekarski says:

    W przypadku dedyków to przecież nieproblem. Więc imho rozwiązuje sprawę. Po drugie zawsze można spróbować się jakoś dogadać… ;-)

  6. dooshek says:

    Masz rację

  7. boatsunsun says:

    juicy english trust america clean keyboard australia red jhon kitchen apple woman

  8. keydaywewehe says:

    elephant go sun go greed google german stay ibm stay greed me

Leave a Reply