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

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.

Ten wpis umieszczono w kategorii PHP. Możesz dodać go do zakładek permalink. Dodaj komentarz lub dodaj odpowiedź (trackback): Trackback URL.

6 Komentarze

  1. Opublikowano 7 August, 2008 at 10:51 | Permalink

    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. Opublikowano 7 August, 2008 at 10:54 | Permalink

    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. Opublikowano 7 August, 2008 at 10:57 | Permalink

    “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
    Opublikowano 7 August, 2008 at 10:59 | Permalink

    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. Opublikowano 7 August, 2008 at 11:01 | Permalink

    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
    Opublikowano 7 August, 2008 at 11:08 | Permalink

    Masz rację

Skomentuj

Twój adres email nie zostanie opublikowany i nie będzie rozpowszechniany. Wymagane pola są oznaczone *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>