PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mb_convert_case> <Fonctions sur les chaînes de caractères multi-octets
Last updated: Fri, 22 Aug 2008

view this page in

mb_check_encoding

(PHP 4 >= 4.4.3, PHP 5 >= 5.1.3)

mb_check_encodingVérifie si une chaîne est valide pour un encodage spécifique

Description

bool mb_check_encoding ([ string $var [, string $encoding ]] )

Vérifie si le flux d'octets est valide pour l'encodage spécifique.

Liste de paramètres

var

Le flux d'octets à vérifier. Si elle est omise, cette fonction vérifie toutes les entrées depuis le début de la requête.

encoding

Encodage attendu.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.



add a note add a note User Contributed Notes
mb_check_encoding
Olexa Riznyk
13-Jul-2007 08:53
This function returns true incorrectly sometimes (at least when internal encoding is UTF-8 and encoding being checked for is Windows-1251, and PHP version 4.4.4 on FreeBSD 6.2 STABLE). This bug was not answered in bug reporting yet, so here is a workaround:

Instead of checking for this:

<?php

mb_check_encoding
($var, $destination_encoding)

?>

check for this:

<?php

mb_check_encoding
($var, $destination_encoding) && mb_substr_count($var, '?', $source_encoding) == mb_substr_count(mb_convert_encoding($var, $destination_encoding, $source_encoding), '?', $destination_encoding)

?>

The idea is to count question mark characters ('?') in original value and converted value, because mb_convert_encoding function uses question marks to substitute characters that are not valid in destination encoding.

 
show source | credits | sitemap | contact | advertising | mirror sites