podcast
Hlavní stránka > počítače > PHP – substr a UTF-8

PHP – substr a UTF-8

15.04.2010careers (837 zobrazení) Komentuj Přejdi na komentáře

Pokud máte problém s práci s řetězci v PHP v UTF-8 – problém je pravděpodobně v tom, že substr jede podle počtu bitů a ne podle počtu znaků. V UTF-8 má každý znak více bitů, takže to potom osekává řetězce s háčky a čárky více, než by mělo (dnes mě to stálo 2hod hledání v kódu, než jsem přišel na to, že chyba není na mém přijímači). Lze to řešit vlastní funkcí.

Funkce např. piko_substr


function piko_substr($text, $odkud, $kam) {
    $temp = iconv("iso8859-2", "utf-8", substr(iconv("utf-8", "iso8859-2", $text),$odkud,$kam));
    return($temp);
}
information
Categories: počítače Tags: , ,
content
  1. cZip
    April 15th, 2011 at 11:39 | #1

    co takhle mb_substr();

  2. Lukas Satin
    July 3rd, 2011 at 15:32 | #2

    Samotne mb_substr() nekdy nefunguje a na zacatek stranky je treba pridat:
    mb_internal_encoding(“UTF-8″);
    mb_http_output( “UTF-8″ );
    ob_start(“mb_output_handler”);

    Udela to to same, co ty radky s iconv…

  1. No trackbacks yet.
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)

What is 13 + 7 ?
Please leave these two fields as-is:

Spam Protection by WP-SpamFree

support
suggest