|
Table des matières
XCIV. Chaînes de caractères multi-octetsIntroductionMême si la plupart des langues peuvent être représentées grâce à un jeu de 128 caractères, il y a d’autres langues qui requièrent des jeux de caractères bien plus grands. Des méthodes de caractères multi-octets ont été développées pour résoudre ce type de problème. Lorsque vous manipulez des chaînes de caractères multi-octets, pour couper, rechercher ou nettoyer une chaîne, vous devez utiliser deux octets consécutifs, qui représentent un seul caractère. Si vous n’y prenez pas garde, vous allez obtenir une chaîne corrompue et invalide, avec une représentation totalement incompréhensible. “mbstring” fournit les fonctions spécifiques de manipulations de chaînes qui vous permet de travailler avec les encodages multi-octets en PHP. En plus de cela, “mbstring” gère la traduction entre les jeux de caractères disponibles. “mbstring” est également connu pour gérer l’Unicode, comme UTF-8 et UCS-2 ainsi que de nombreux autres jeux mono-octets. Pré-requis de l'encodage en PHPLes jeux de caractères suivants sont bien supportés par PHP.
Les jeux de caractères suivants risquent de ne pas fonctionner en PHP.
Même si aucun script PHP écrit avec ces jeux de caractères ne fonctionne, notamment si des chaînes encodées sont utilisées comme identifiants, ou valeurs littérales dans le script, vous pouvez éviter d’utiliser ces jeux en activant le filtre transparent “mbstring” pour les données d’entrées HTTP.
Installation“mbstring” est un module PHP. Vous devez activer le module avec le script de configuration “configure”. Reportez-vous à la section installation pour plus de détails. Les options de configurations suivantes sont liées au module “mbstring”.
libmbfl est nécessaire pour “mbstring”. libmbfl est inclus avec “mbstring”. Si libmbfl est déjà installé sur le système, “–with-libmbfl[=DIR]” peut être spécifié pour utiliser la bibliothèque istallée.
Configuration à l'exécutionLe comportement de ces fonctions est affecté par la configuration dans le fichier “php.ini”. Tableau 1. Options de configuration
Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Annexe G. Voici un éclaircissement sur l’utilisation des directives de configuration. “mbstring.language” string Définit le langage utilisé par mbstring. Notez que cette option définit “mbstring.internal_encoding” “mbstring.internal_encoding” doit être placé après “mbstring.language” dans le fichier “php.ini” “mbstring.encoding_translation” boolean Active la détection et la traduction des données d’entrées HTTP vers le codage interne mbstring. “mbstring.internal_encoding” string Définit l’encodage interne par défaut. “mbstring.http_input” string Définit l’encodage de réception HTTP par défaut. “mbstring.http_output” string Définit l’encodage d’affichage HTTP par défaut. “mbstring.detect_order” string Définit l’ordre de détection des encodages par défaut. Voir aussi mb_detect_order(). “mbstring.substitute_character” string Définit l’encodage de substitution par défaut : il est utilisé pour les caractères invalides. “mbstring.func_overload” string “mbstring.strict_detection” booléen Active la détection stricte de l’encodage.
Types de ressourcesCette extension ne définit aucune ressource. Constantes pré-définiesCes constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l’exécution. “MB_OVERLOAD_MAIL” (entier) “MB_OVERLOAD_STRING” (entier) “MB_OVERLOAD_REGEX” (entier) Entrées/Sorties HTTPLa conversion automatique des entrées/sorties HTTP peut aussi convertir des données binaires. Les utilisateurs doivent contrôler les conversions, si des données binaires doivent être utilisées via HTTP.
Il n’y a pas de moyens de contrôler la conversion des caractères HTTP en entrée, depuis un script PHP. Pour désactiver cette conversion, il faut le faire dès le fichier “php.ini”. | **Exemple 5. Désactive la conversion HTTP dans le php.ini ** |
;; Désactive la conversion HTTP mbstring.http_input = pass ;; Désactive la conversion HTTP (PHP 4.3.0 ou plus récent) mbstring.encoding_translation = Off ::
Il y a plusieurs moyens d’activer la conversion en sortie de script PHP. L’un d’entre eux utilise “php.ini”, un autre utilise ob_start() avec la fonction mb_output_handler() comme fonction de call-back. mb_check_encoding – Vérifie si une chaîne est valide pour un encodage spécifiquemb_convert_case – Modifie la casse d’une chaînemb_convert_encoding – Conversion d’encodagemb_convert_kana – Convertit entre les différents “kana” mb_convert_variables – Convertit l’encodage de variablesmb_decode_mimeheader – Décode un en-tête MIMEmb_decode_numericentity – Décode les entités HTML en caractères mb_detect_encoding – Détecte un encodagemb_detect_order – Lit/modifie l’ordre de détection des encodages mb_encode_mimeheader – Encode une chaîne pour un en-tête MIMEmb_encode_numericentity – Encode des entités HTML mb_ereg_match – Expression rationnelle POSIX pour les chaînes multi-octets mb_ereg_replace – Remplace des segments de chaînes, avec le support des expressions rationnelles mutli-octetsmb_ereg_search_getpos – Retourne l’offset du début du prochain segment repéré par une expression rationnelle mb_ereg_search_getregs – Lit le dernier segment de chaîne multi-octets qui correspond au masque mb_ereg_search_init – Configure les chaînes et les expressions rationnelles pour le support des caractères multi-octets mb_ereg_search_pos – Retourne la position et la longueur du segment de chaîne qui vérifie le masque de l’expression rationnelle mb_ereg_search_regs – Retourne le segment de chaîne trouvé par une expression rationnelle multi-octets mb_ereg_search_setpos – Choisit le point de départ de la recherche par expression rationnellemb_ereg_search – Recherche par expression rationnelle multi-octets mb_ereg – Recherche par expression rationnelle avec support des caractères multi-octetsmb_eregi_replace – Expression rationnelle avec support des caractères multi-octets, sans tenir compte de la casse mb_eregi – Expression rationnelle insensible à la casse avec le support des caractères multi-octets mb_get_info – Lit la configuration interne de l’extension mbstringmb_http_input – Détecte le type d’encodage d’un caractère HTTPmb_http_output – Lit/modifie l’encodage d’affichagemb_internal_encoding – Lit/modifie l’encodage interne mb_language – Lit/modifie le langage courantmb_list_encodings_alias_names – Returns an array of all supported alias encodingsmb_list_encodings – Retourne un tableau contenant tous les encodages supportés mb_list_mime_names – Returns an array or string of all supported mime namesmb_output_handler – Fonction de traitement des affichages mb_parse_str – Analyse les données HTTP GET/POST/COOKIE et assigne les variables globales mb_preferred_mime_name – Détecte l’encodage MIMEmb_regex_encoding – Retourne le jeu de caractères courant pour les expressions rationnelles mb_regex_set_options – Lit et modifie les options des fonctions d’expression rationnelle à support de caractères multi-octets mb_send_mail – Envoie un mail encodémb_split – Scinde une chaîne en tableau avec une expression rationnelle multi-octetsmb_strcut – Coupe une partie de chaînemb_strimwidth – Tronque une chaînemb_stripos – Trouve la première occurence d’une chaîne dans une autre, sans tenir compte de la cassemb_stristr – Trouve la première occurece d’une chaîne dans une autre, sans tenir compte de la cassemb_strlen – Retourne la taille d’une chaînemb_strpos – Repère la première occurrence d’un caractère dans une chaîne mb_strrchr – Trouve la dernière occurence d’un caractère d’une chaîne dans une autremb_strrichr – Trouve la dernière occurence d’un caractère d’une chaîne dans une autre, insensible à la cassemb_strripos – Trouve la position de la dernière occurence d’une chaîne dans une autre, en tenant compte de la cassemb_strrpos – Repère la dernière occurrence d’un caractère dans une chaîne mb_strstr – Trouve la première occurence d’une chaîne dans une autremb_strtolower – Met tous les caractères en minusculesmb_strtoupper – Met tous les caractères en majusculesmb_strwidth – Retourne la largeur d’une chaînemb_substitute_character – Lit/modifie les caractères de substitutionmb_substr_count – Compte le nombre d’occurrences d’une sous-chaînemb_substr – Lit une sous-chaîne Travail collaboratifContribuez, en ajjoutant des elements a cette page de manuel : Merci de votre aide |