note 89286 deleted from function.mb-check-encoding by salathe

From: Date: Sat, 14 Aug 2021 09:08:01 +0000
Subject: note 89286 deleted from function.mb-check-encoding by salathe
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-216787@lists.php.net to get a copy of this message
Note Submitter: jbricci at ya-right dot com ---- This function does not check for bad byte sequence(s), it only checks if the byte stream is valid. If you want to verify a encoded string is valid, (IE: does not contain any bad byte sequences do the following... <?php /* check a strings encoded value */ function checkEncoding ( $string, $string_encoding ) { $fs = $string_encoding == 'UTF-8' ? 'UTF-32' : $string_encoding; $ts = $string_encoding == 'UTF-32' ? 'UTF-8' : $string_encoding; return $string === mb_convert_encoding ( mb_convert_encoding ( $string, $fs, $ts ), $ts, $fs ); } /* test 1 variables */ $string = "\x00\x81"; $encoding = "Shift_JIS"; /* test 1 mb_check_encoding (test for bad byte stream) */ if ( true === mb_check_encoding ( $string, $encoding ) ) { echo 'valid (' . $encoding . ') encoded byte stream!<br />'; } else { echo 'invalid (' . $encoding . ') encoded byte stream!<br />'; } /* test 1 checkEncoding (test for bad byte sequence(s)) */ if ( true === checkEncoding ( $string, $encoding ) ) { echo 'valid (' . $encoding . ') encoded byte sequence!<br />'; } else { echo 'invalid (' . $encoding . ') encoded byte sequence!<br />'; } /* test 2 */ /* test 2 variables */ $string = "\x00\xE3"; $encoding = "UTF-8"; /* test 2 mb_check_encoding (test for bad byte stream) */ if ( true === mb_check_encoding ( $string, $encoding ) ) { echo 'valid (' . $encoding . ') encoded byte stream!<br />'; } else { echo 'invalid (' . $encoding . ') encoded byte stream!<br />'; } /* test 2 checkEncoding (test for bad byte sequence(s)) */ if ( true === checkEncoding ( $string, $encoding ) ) { echo 'valid (' . $encoding . ') encoded byte sequence!<br />'; } else { echo 'invalid (' . $encoding . ') encoded byte sequence!<br />'; } ?>

« previous php.notes (#216787) next »