Check for UTF-8

<?php
/**
 * Returns true if $string is valid UTF-8 and false otherwise.
 *
 */
function is_utf8 ($string) {
	// From http://w3.org/International/questions/qa-forms-utf-8.html
	return preg_match (
		'%^(?:
              [x09x0Ax0Dx20-x7E]            # ASCII
            | [xC2-xDF][x80-xBF]             # non-overlong 2-byte
            |  xE0[xA0-xBF][x80-xBF]        # excluding overlongs
            | [xE1-xECxEExEF][x80-xBF]{2}  # straight 3-byte
            |  xED[x80-x9F][x80-xBF]        # excluding surrogates
            |  xF0[x90-xBF][x80-xBF]{2}     # planes 1-3
            | [xF1-xF3][x80-xBF]{3}          # planes 4-15
            |  xF4[x80-x8F][x80-xBF]{2}     # plane 16
        )+z%xs', $string);
}
?>

Download this snippet

Returns true if $string is valid UTF-8 and false otherwise.

Twitter Twitter

2 Comments to “ Check for UTF-8”

  1. Anonymous  on Jun 10, 2010

    XgztC8 <a href="http://igdkctuxomxp.com/">igdkctuxomxp</a>, [url=http://gilqlcsbiwzy.com/]gilqlcsbiwzy[/url], [link=http://rrshndsbhout.com/]rrshndsbhout[/link], http://njiyhwclkabb.com/

  2. Anonymous  on Jun 13, 2010

    5OYszR <a href="http://lthtwxwgwjoz.com/">lthtwxwgwjoz</a>, [url=http://bnjlwcdnugje.com/]bnjlwcdnugje[/url], [link=http://tcjkkyfowemh.com/]tcjkkyfowemh[/link], http://jqduvgbxctqh.com/

Leave a Comment

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