Return to Snippet

Revision: 13117
at April 9, 2009 10:35 by michaelfox

Initial Code
function charset_decode_utf_8($string) {
      /* Only do the slow convert if there are 8-bit characters */
    /* avoid using 0xA0 (240) in ereg ranges. RH73 does not like that */
    if (! ereg("[200-237]", $string) and ! ereg("[241-377]", $string))
        return $string;

    // decode three byte unicode characters
    $string = preg_replace("/([340-357])([200-277])([200-277])/e",       
    "'&#'.((ord('\1')-224)*4096 + (ord('\2')-128)*64 + (ord('\3')-128)).';'",   

    // decode two byte unicode characters
    $string = preg_replace("/([300-337])([200-277])/e",

    return $string;

Initial URL

Initial Description

Initial Title
decode utf8 charset

Initial Tags

Initial Language