cvs: phpdoc /fr/functions mbstring.xml
| From: | Damien Seguy | Date: | Mon, 02 Jul 2001 11:02:03 +0000 |
| Subject: | cvs: phpdoc /fr/functions mbstring.xml | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969335809@lists.php.net to get a copy of this message | ||
dams Mon Jul 2 07:02:03 2001 EDT
Added files:
/phpdoc/fr/functions mbstring.xml
Log:
Initial commit de mbstring
Index: phpdoc/fr/functions/mbstring.xml +++ phpdoc/fr/functions/mbstring.xml <reference id="ref.mbstring"> <title>Chaînes de caractères multi-octets</title> <titleabbrev>Chaînes de caractères multi-octets</titleabbrev> <partintro> <sect1 id="mb-intro"> <title>Introduction</title> <warning> <simpara> Ce module est expérimental. Les noms des fonctions sont sujets à des changaments probables. Actuellement, les conversions ne supportent que le Japonais. </simpara> </warning> <para> De nombreuses langues dont les signes ne peuvent pas être exprimés sur un seul octet. Des codes multi-octets sont utilisés pour pallier à cette insuffisance. <literal>mbstring</literal> est développé pour supporter les caractères japonais. Cependant, de nombreuses fonctions <literal>mbstring</literal> peuvent supporter d'autres jeux de caractères. </para> <para> Les jeux de caractères multi-octets représentent les caractères sur plusieurs octets consécutifs (d'où leur nom). Certains systèmes d'encodages ont des caractères d'échappement dédiés, pour démarrer/finir une séquence de caractères multi-octets. De ce fait, certains caractères peuvent être détruit lorsqu'une chaîne est coupée en plusieurs morceaux, ou bien conduire à des résultats erronnés lorsque le nombre de caractère est compté. Il faut utiliser des fonctions qui supportent ces encodages. Les fonctions <literal>mbstring</literal> supportent les jeux de caractères multi-octets, ainsi que les conversions. </para> <sect2 id="mb-ja-basic"> <title>Cas des caractères japonais</title> <para> La plupart des caractères japonais demandent plus d'un octet pour être représentés. De plus, plusieurs jeux de caractères japonais existent : il y a notamment EUC-JP, Shift_JIS et ISO-2022-JP. Unicode devient de plus en plus populaire, et UTF-8 aussi. Pour développer des applications Web en environnement japonais, il faut savoir que les encodages ci-dessus dépendent de l'application qu'on en fait : entrée/sortie HTTP, bases de données ou courrier électronique. </para> <para> <itemizedlist> <listitem> <simpara> La taille nécessaire à un caractère peut aller jusqu'à 4 octets. </simpara> </listitem> <listitem> <simpara> Un caractère multi-octets occupe généralement deux octets, à comparer avec les caractères simple-octet traditionnellement utilisé. Les caractères les plus gros sont appelés "zen-kaku" (i.e. grande largeur) et les plus petits sont appelés "han-kaku" (i.e. demi-largeur). Les caractères "zen-kaku" sont généralement de taille constante. </simpara> </listitem> <listitem> <simpara> Certains encodage de caractères définissent des séquences de début/fin pour les sections multi-octets. </simpara> </listitem> <listitem> <simpara> Les bases de données allouent des tailles de stockages différentes de celles utilisées par PHP, même si le même encodage de caractère est utilisé (par exemple, PostGreSQL). </simpara> </listitem> <listitem> <simpara> Le courrier électronique utilise généralement ISO-2022-JP. </simpara> </listitem> <listitem> <para> Les sites web en "i-mode" utilisent Shift_JIS. </para> </listitem> </itemizedlist> </para> </sect2> <sect2 id="mb-code"> <title>Jeux de caractères supportés</title> <para> Les jeux de caractères suivants sont supportés par cette extension PHP : <literal>UCS-4</literal>, <literal>UCS-4BE</literal>, <literal>UCS-4LE</literal>, <literal>UCS-2</literal>, <literal>UCS-2BE</literal>, <literal>UCS-2LE</literal>, <literal>UTF-32</literal>, <literal>UTF-32BE</literal>, <literal>UTF-32LE</literal>, <literal>UCS-2LE</literal>, <literal>UTF-16</literal>, <literal>UTF-16BE</literal>, <literal>UTF-16LE</literal>, <literal>UTF-8</literal>, <literal>UTF-7</literal>, <literal>ASCII</literal>, <literal>EUC-JP</literal>, <literal>SJIS</literal>, <literal>eucJP-win</literal>, <literal>SJIS-win</literal>, <literal>ISO-2022-JP</literal>(<literal>JIS</literal>), <literal>ISO-8859-1</literal>, <literal>ISO-8859-2</literal>, <literal>ISO-8859-3</literal>, <literal>ISO-8859-4</literal>, <literal>ISO-8859-5</literal>, <literal>ISO-8859-6</literal>, <literal>ISO-8859-7</literal>, <literal>ISO-8859-8</literal>, <literal>ISO-8859-9</literal>, <literal>ISO-8859-10</literal>, <literal>ISO-8859-13</literal>, <literal>ISO-8859-14</literal>, <literal>ISO-8859-15</literal>. </para> </sect2> <sect2 id="mb-ini"> <title>Configuration du fichier php.ini</title> <para> <itemizedlist> <listitem> <simpara> <literal>mbstring.internal_encoding</literal> définit le jeu de caractères interne par défaut. </simpara> </listitem> <listitem> <simpara> <literal>mbstring.http_input</literal> définit le jeu de caractères d'entrée HTTP par défaut. </simpara> </listitem> <listitem> <simpara> <literal>mbstring.http_output</literal> defines définit le jeu de caractères d'affichage HTTP par défaut. </simpara> </listitem> <listitem> <simpara> <literal>mbstring.detect_order</literal> définit l'ordre de détection des jeux de caractères (lors de la lecture sur une source externe inconnue). </simpara> </listitem> <listitem> <simpara> <literal>mbstring.substitute_character</literal> définit le caractère de substitution pour les codes invalides. </simpara> </listitem> </itemizedlist> </para> <para> <example> <title>Exemple de configuration du <literal>php.ini</literal></title> <programlisting role="php.ini"> ;; Set default internal encoding mbstring.internal_encoding = UTF-8 ; Par défaut, to UTF-8 ;; Set default HTTP input character code mbstring.http_input = auto ; Par défaut, mode automatique ; or ; mbstring.http_input = SJIS ; Par défaut, HTTP fournit du code SJIS ; mbstring.http_input = eucjp-win, sjis-win, UTF-8 ; Ordre spécifique ;; Set default HTTP output character code mbstring.http_output = UTF-8 ; Par défaut, HTTP affiche du code UTF-8 ;; Set default character code detection order mbstring.detect_order = auto ; Par défaut, mode automatique ; or ; mbstring.detect_order = eucjp-win, sjis-win, UTF-8 ; Ordre spécifique ;; Set default substitute character mbstring.substitute_character = 12307 ; Spécifie un code de caractère ; or ; mbstring.substitute_character = none ; Caractère NULL ; mbstring.substitute_character = long ; Long </programlisting> </example> </para> </sect2> </sect1> </partintro> <refentry id="function.mb-internal-encoding"> <refnamediv> <refname>mb_internal_encoding</refname> <refpurpose> Lit/modifie l'encodage interne </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_internal_encoding</function></funcdef> <paramdef>string <parameter><optional>encoding</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_internal_encoding</function> modifie l'encodage interne courant en le remplacant par <parameter>encoding</parameter>. Si ce paramètre est omis, l'encodage interne courant est retourné. </para> <para> <parameter>encoding</parameter> sert lors des conversions des chaînes en provenance et en direction du web, ainsi que lors de la création de chaînes avec le module mbstring. </para> <para> <parameter>encoding</parameter>: Nom d'encodage. </para> <para> Valeur retournée : si <parameter>encoding</parameter> est fourni, <function>mb_internal_encoding</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> sinon. Si <parameter>encoding</parameter> est omis, <function>mb_internal_encoding</function> retourne le nom de l'encodage courant. </para> <para> <example> <title>Exemple avec <function>mb_internal_encoding</function></title> <programlisting role="php"> <?php /* Utilise l'encodage interne UTF-8 */ mb_internal_encoding("UTF-8"); /* Affiche l'encodage interne courant */ echo mb_internal_encoding(); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_http_input</function>, <function>mb_http_output</function> et <function>mb_detect_order</function> </para> </refsect1> </refentry> <refentry id="function.mb-http-input"> <refnamediv> <refname>mb_http_input</refname> <refpurpose>Détecte le type d'encodage d'un caractère HTTP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_http_input</function></funcdef> <paramdef>string <parameter><optional>type</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <simpara> <function>mb_http_input</function> retourne le type d'encodage utilisé par une requête HTTP. </simpara> <para> Le paramètre <parameter>type</parameter> spécifie le type d'entrée HTTP. Il peut prendre l'une des valeurs suivantes : "G" pour GET, "P" pour POST, "C" pour COOKIE. Si <parameter>type</parameter> est omis, il prend la valeur du dernier type utilisé. </para> <para> Valeur retournée : nom de l'encodage utilisé. Si <function>mb_http_input</function> ne peut traiter ce type d'encodage, elle retourne <literal>FALSE</literal>. </para> <para> Voir aussi <function>mb_internal_encoding</function>, <function>mb_http_output</function> et <function>mb_detect_order</function> </para> </refsect1> </refentry> <refentry id="function.mb-http-output"> <refnamediv> <refname>mb_http_output</refname> <refpurpose>Lit/modifie l'encodage d'affichage</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_http_output</function></funcdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Si <parameter>encoding</parameter> est fourni, <function>mb_http_output</function> utilisera dorénavant l'encodage <parameter>encoding</parameter> pour les affichages HTTP : les caractères qui seront envoyés aux clients web seront convertis dans le jeu de caractères <parameter>encoding</parameter>. <function>mb_http_output</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> en cas d'échec. </para> <para> Si <parameter>encoding</parameter> est omis, <function>mb_http_output</function> retourne l'encodage d'affichage courant. </para> <para> Voir aussi <function>mb_internal_encoding</function>, <function>mb_http_input</function> et <function>mb_detect_order</function> </para> </refsect1> </refentry> <refentry id="function.mb-detect-order"> <refnamediv> <refname>mb_detect_order</refname> <refpurpose> Lit/modifie l'ordre de détection des encodages </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>mb_detect_order</function></funcdef> <paramdef>mixed <parameter><optional>encoding-list</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_detect_order</function> remplace l'ordre de détection des encodages courant par <parameter>encoding-list</parameter>. <function>mb_detect_order</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> en cas d'erreur failure. </para> <para> <parameter>encoding-list</parameter> est un tableau, ou une liste d'encodages séparés par une virgule. La valeur <literal>"auto"</literal> est automatiquement remplacé par "ASCII, JIS, UTF-8, EUC-JP, SJIS". </para> <para> SI <parameter>encoding-list</parameter> est omis, <function>mb_detect_order</function> retourne l'ordre de détection courant des encodages. </para> <para> Ce paramétrage affected les fonctions <function>mb_detect_encoding</function> et <function>mb_send_mail</function>. </para> <para> <example> <title>Exemple avec <function>mb_detect_order</function></title> <programlisting role="php"> <?php /* Remplace l'ordre de détection par une liste énumérée */ mb_detect_order("eucjp-win,sjis-win,UTF-8"); /* Remplace l'ordre de détection par un tableau */ $ary[] = "ASCII"; $ary[] = "JIS"; $ary[] = "EUC-JP"; mb_detect_order($ary); /* Affiche l'ordre de détection courant */ echo implode(", ", mb_detect_order()); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_internal_encoding</function>, <function>mb_http_input</function>, <function>mb_http_output</function> et <function>mb_send_mail</function> </para> </refsect1> </refentry> <refentry id="function.mb-substitute-character"> <refnamediv> <refname>mb_substitute_character</refname> <refpurpose>Lit/modifie les caractères de substitution</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>mb_substitute_character</function></funcdef> <paramdef>mixed <parameter><optional>substrchar</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_substitute_character</function> spécifie le caractère de substitution des caractères invalides, ou des encodages invalides. Les caractères invalides peuvent être remplacés par NULL (pas d'affichage, ils sont supprimés), une chaîne ou un code héxadécimal. </para> <para> Ce paramétrage affecte <function>mb_detect_encoding</function> et <function>mb_send_mail</function>. </para> <para> <parameter>substchar</parameter> spécifie une valeur Unicode sous la forme d'un entier, ou bien une chaîne sous ces formes : <itemizedlist> <listitem> <simpara> "none" : pas d'affichage </simpara> </listitem> <listitem> <simpara> "long" : affiche la valeur hexadécimale (Par exemple : U+3000,JIS+7E7E) </simpara> </listitem> </itemizedlist> </para> <para> SI <parameter>substchar</parameter> est fourni, <function>mb_substitute_character</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> en cas d'erreur. Si <parameter>substchar</parameter> est omis, <function>mb_substitute_character</function> retourne une valeur Unicode, ou bien "<literal>none</literal>"/"<literal>long</literal>". </para> <para> <example> <title>Exemple avec <function>mb_substitute_character</function></title> <programlisting role="php"> <?php /* Configure le caractère de substitution avec U+3013 (GETA MARK) */ mb_substitute_character(0x3013); /* Configure le caractère de substitution avec un format héxadécimal */ mb_substitute_character("long"); /* Affiche la configuration courante */ echo mb_substitute_character(); ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.mb-output-handler"> <refnamediv> <refname>mb_output_handler</refname> <refpurpose> Fonction de traitement des affichages web </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_output_handler</function></funcdef> <paramdef>string <parameter>contents</parameter></paramdef> <paramdef>int <parameter>status</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_output_handler</function> est la fonction à fournir à <function>ob_start</function>. <function>mb_output_handler</function> convertit les caractères envoyés au client Web, dans l'encodage paramétré avec <function>mb_http_output</function>. </para> <para> <parameter>contents</parameter> : Le contenu à traiter </para> <para> <parameter>status</parameter> : L'état du contenu </para> <para> <function>mb_output_handler</function> retourne la chaîne convertie. </para> <para> <example> <title>Exemple avec <function>mb_output_handler</function></title> <programlisting role="php"> <?php mb_http_output("UTF-8"); ob_start("mb_output_handler"); ?> </programlisting> </example> </para> <note> <para> Si vous souhaitez envoyer des données binaires telles que des images issues d'un script PHP, vous devez spécifier l'encodage spécial <literal>"pass"</literal>, avec la fonction <function>mb_http_output</function>. </para> </note> <para> Voir aussi <function>ob_start</function>. </para> </refsect1> </refentry> <refentry id="function.mb-preferred-mime-name"> <refnamediv> <refname>mb_preferred_mime_name</refname> <refpurpose>Détecte l'encodage MIME</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_preferred_mime_name</function></funcdef> <paramdef>string <parameter>encoding</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_preferred_mime_name</function> retourne le type d'encodage MIME utilisé dans le mail <parameter>encoding</parameter>. Le nom de l'encodage est retourné sous forme de chaîne. </para> <para> <example> <title>Exemple avec <function>mb_preferred_mime_string</function></title> <programlisting role="php"> <?php $outputenc = "sjis-win"; mb_http_output($outputenc); ob_start("mb_output_handler"); Header("Content-Type: text/html; charset=" . mb_preferred_mime_name($outputenc)); ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.mb-strlen"> <refnamediv> <refname>mb_strlen</refname> <refpurpose>Retourne la taille d'une chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_strlen</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strlen</function> retourne le nombre de caractères dans la chaîne <parameter>str</parameter>, avec l'encodage <parameter>encoding</parameter>. Un caractère multi-octets est alors compté pour 1. </para> <para> Voir aussi <function>mb_internal_encoding</function>, <function>strlen</function>. </para> </refsect1> </refentry> <refentry id="function.mb-strpos"> <refnamediv> <refname>mb_strpos</refname> <refpurpose> Repère la première occurence d'un caractère dans une chaîne </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_strpos</function></funcdef> <paramdef>string <parameter>haystack</parameter></paramdef> <paramdef>string <parameter>needle</parameter></paramdef> <paramdef>int <parameter><optional>offset</optional></parameter> </paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strpos</function> retourne la position numérique de la première occurence du caractère <parameter>needle</parameter> dans la chaîne <parameter>haystack</parameter>. Si <parameter>needle</parameter> est introuvable, <function>mb_strpos</function> retourne <literal>FALSE</literal>. </para> <para> <function>mb_strpos</function> effectue une recherche de type <function>strpos</function>, en tenant compte des caractères multi-octets. La position de <parameter>needle</parameter> est comptée à partir du début de la chaîne <parameter>haystack</parameter> : les positions commencent à 0. </para> <para> Si <parameter>encoding</parameter> est omis, l'encodage interne par défaut est utilisé. <function>mb_strrpos</function> accepte des chaînes comme argument <parameter>needle</parameter>, alors que <function>strrpos</function> n'accepte que des caractères. </para> <para> <parameter>offset</parameter> est l'offset de début de recherche. S'il est omis, il sera utilisé à 0 (début de la chaîne). </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> Voir aussi <function>mb_strpos</function>, <function>mb_internal_encoding</function> et <function>strpos</function> </para> </refsect1> </refentry> <refentry id="function.mb-strrpos"> <refnamediv> <refname>mb_strrpos</refname> <refpurpose> Repère la dernière occurence d'un caractère dans une chaîne </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_strrpos</function></funcdef> <paramdef>string <parameter>haystack</parameter></paramdef> <paramdef>string <parameter>needle</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strrpos</function> retourne la position numérique de la première occurence du caractère <parameter>needle</parameter> dans la chaîne <parameter>haystack</parameter>. Si <parameter>needle</parameter> est introuvable, <function>mb_strrpos</function> retourne <literal>FALSE</literal>. </para> <para> <function>mb_strrpos</function> effectue une recherche de type <function>strpos</function>, en tenant compte des caractères multi-octets. La position de <parameter>needle</parameter> est comptée à partir du début de la chaîne <parameter>haystack</parameter> : les positions commencent à 0. </para> <para> Si <parameter>encoding</parameter> est omis, l'encodage interne par défaut est utilisé. <function>mb_strrpos</function> accepte des chaînes comme argument <parameter>needle</parameter>, alors que <function>strrpos</function> n'accepte que des caractères. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> Voir aussi <function>mb_strpos</function>, <function>mb_internal_encoding</function> et <function>strrpos</function>. </para> </refsect1> </refentry> <refentry id="function.mb-substr"> <refnamediv> <refname>mb_substr</refname> <refpurpose>Lit une sous-chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_substr</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> <paramdef>int <parameter><optional>length</optional></parameter> </paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_substr</function> retourne la portion de la chaîne <parameter>str</parameter> qui commence au caractère <parameter>start</parameter> et a la longueur de <parameter>length</parameter> caractères. </para> <para> <function>mb_substr</function> effectue une recherche de type <function>strpos</function>, en tenant compte des caractères multi-octets. La position de <parameter>needle</parameter> est comptée à partir du début de la chaîne <parameter>haystack</parameter> : les positions commencent à 0. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> Voir aussi <function>mb_strcut</function> et <function>mb_internal_encoding</function>. </para> </refsect1> </refentry> <refentry id="function.mb-strcut"> <refnamediv> <refname>mb_strcut</refname> <refpurpose>Coupe une partie de chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_strcut</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> <paramdef>int <parameter><optional>length</optional></parameter> </paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strcut</function> retourne la portion de la chaîne <parameter>str</parameter> qui commence au caractère <parameter>start</parameter> et a la longueur de <parameter>length</parameter> caractères. </para> <para> <function>mb_strcut</function> effectue une recherche de type <function>strpos</function>, en tenant compte des caractères multi-octets. La position de <parameter>needle</parameter> est comptée à partir du début de la chaîne <parameter>haystack</parameter> : les positions commencent à 0. </para> <para> <function>mb_strcut</function> soustrait la partie de la chaîne <parameter>str</parameter> qui compte <parameter>length</parameter> caractères. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> Voir aussi <function>mb_substr</function> et <function>mb_internal_encoding</function>. </para> </refsect1> </refentry> <refentry id="function.mb-strwidth"> <refnamediv> <refname>mb_strwidth</refname> <refpurpose>Retourne la largeur d'une chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>mb_strwidth</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strwidth</function> retourne la largeur de la chaîne <parameter>str</parameter>. </para> <para> Les chaînes à encodage multi-octet sont généralement deux fois plus grandes que les chaînes à simple-octet. </para> <para> <informalexample> <programlisting> Largeur de caractères : U+0000 - U+0019 0 U+0020 - U+1FFF 1 U+2000 - U+FF60 2 U+FF61 - U+FF9F 1 U+FFA0 - 2 </programlisting> </informalexample> </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> Voir aussi <function>mb_strimwidth</function> et <function>mb_internal_encoding</function>. </para> </refsect1> </refentry> <refentry id="function.mb-strmwidth"> <refnamediv> <refname>mb_strimwidth</refname> <refpurpose>Tronque une chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_strimwidth</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> <paramdef>int <parameter>width</parameter></paramdef> <paramdef>string <parameter>trimmarker</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strimwidth</function> tronque la chaîne <parameter>str</parameter> à la longueur <parameter>width</parameter>. Elle retourne la chaîne tronquée. </para> <para> SI <parameter>trimmarker</parameter> est fourni, <parameter>trimmarker</parameter> est ajoutée à la fin de la chaîne retournée. </para> <para> <parameter>start</parameter> est l'offet de départ, en nombre de caractères depuis le début de la chaîne (cela commence à 0). </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> <example> <title>Exemple avec <function>mb_strimwidth</function></title> <programlisting role="php"> <?php $str = mb_strimwidth($str, 0, 40, "..>"); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_strwidth</function> et <function>mb_internal_encoding</function>. </para> </refsect1> </refentry> <refentry id="function.mb-convert-encoding"> <refnamediv> <refname>mb_convert_encoding</refname> <refpurpose>Conversion d'encodage</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_convert_encoding</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>string <parameter>to-encoding</parameter></paramdef> <paramdef>mixed <parameter><optional>from-encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_convert_encoding</function> convertit la chaîne <parameter>str</parameter> depuis l'encodage <parameter>from-encoding</parameter> vers l'encodage <parameter>to-encoding</parameter>. </para> <para> <parameter>str</parameter> à convertir. </para> <para> <parameter>from-encoding</parameter> est l'encodage de la chaîne <parameter>str</parameter> à l'origine. Il sera détecté parmi plusieurs encodage fournis sous forme d'un tableau, ou d'une liste d'encodages séparés par des virgules. </para> <para> <example> <title>Exemple avec <function>mb_convert_encoding</function></title> <programlisting role="php"> <?php /* Convertit l'encodage interne vers SJIS */ $str = mb_convert_encoding($str, "SJIS"); /* Convertit EUC-JP en UTF-7 */ $str = mb_convert_encoding($str, "UTF-7", "EUC-JP"); /* Détecte automatiquement un encodage entre JIS, eucjp-win ou sjis-win, Puis convertit en UCS-2LE */ $str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win"); /* "auto" signifie "ASCII,JIS,UTF-8,EUC-JP,SJIS" */ $str = mb_convert_encoding($str, "EUC-JP", "auto"); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_detect_order</function>. </para> </refsect1> </refentry> <refentry id="function.mb-detect-encoding"> <refnamediv> <refname>mb_detect_encoding</refname> <refpurpose>Détecte un encodage</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_detect_encoding</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>mixed <parameter><optional>encoding-list</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_detect_encoding</function> détecte l'encodage utilisé par la chaîne <parameter>str</parameter>. <function>mb_detect_encoding</function> retourne le nom de l'encodage détecté. </para> <para> <parameter>encoding-list</parameter> est une liste d'encodage, sous forme de tableau, ou bien de chaîne, les valeurs étant séparés par des virgules. </para> <para> Si <parameter>encoding_list</parameter> est omis, l'ordre spécifié par <function>mb_detect_order</function> est utilisé. </para> <para> <example> <title>Exemple avec <function>mb_detect_encoding</function></title> <programlisting role="php"> <?php /* Détecte l'encodage avec les valeurs par défaut */ echo mb_detect_encoding($str); /* "auto" signifie "ASCII,JIS,UTF-8,EUC-JP,SJIS" */ echo mb_detect_encoding($str, "auto"); /* Spécifie une liste d'encodages possibles avec une liste à virgules */ echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win"); /* Spécifie une liste d'encodages possibles avec un tableau */ $ary[] = "ASCII"; $ary[] = "JIS"; $ary[] = "EUC-JP"; echo mb_detect_encoding($str, $ary); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_detect_order</function>. </para> </refsect1> </refentry> <refentry id="function.mb-convert-kana"> <refnamediv> <refname>mb_convert_kana</refname> <refpurpose> Convertit entre les différents "kana" </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_convert_kana</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>string <parameter>option</parameter></paramdef> <paramdef>mixed <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_convert_kana</function> effectue une conversion "han-kaku" - "zen-kaku" sur la chaîne <parameter>str</parameter>. Elle retourne la chaîne convertie. Cette fonction n'est utile que pour le japonais. </para> <para> <parameter>option</parameter> est l'option de conversion. La valeur par défaut est <literal>"KV"</literal>. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> <informalexample> <programlisting> Options de conversions possibles : "r" : Convertit l'alphabet "zen-kaku" en "han-kaku" "R" : Convertit l'alphabet "han-kaku" en "zen-kaku" "n" : Convertit les nombres "zen-kaku" en "han-kaku" "N" : Convertit les nombres "han-kaku" en "zen-kaku" "a" : Convertit les nombres et alphabets "zen-kaku" en "han-kaku" "A" : Convertit les nombres et alphabets "zen-kaku" en "han-kaku" (Les caractères inclus dans les options "a", "A" sont U+0021 - U+007E en excluant U+0022, U+0027, U+005C, U+007E) "s" : Convertit les espaces "zen-kaku" en "han-kaku" (U+3000 -> U+0020) "S" : Convertit les espaces "han-kaku" en "zen-kaku" (U+0020 -> U+3000) "k" : Convertit "zen-kaku kata-kana" en "han-kaku kata-kana" "K" : Convertit "han-kaku kata-kana" en "zen-kaku kata-kana" "h" : Convertit "zen-kaku hira-gana" en "han-kaku kata-kana" "H" : Convertit "han-kaku kata-kana" en "zen-kaku hira-gana" "c" : Convertit "zen-kaku kata-kana" en "zen-kaku hira-gana" "C" : Convertit "zen-kaku hira-gana" en "zen-kaku kata-kana" "V" : Supprime les notations vocales, et les convertit en caractères. A utiliser avec "K","H" </programlisting> </informalexample> </para> <para> <example> <title>Exemple avec <function>mb_convert_kana</function></title> <programlisting role="php"> <?php /* Convertit tous les "kana" en "zen-kaku" "kata-kana" */ $str = mb_convert_kana($str, "KVC"); /* Convertit "han-kaku" "kata-kana" en "zen-kaku" "kata-kana" et "zen-kaku" alpha-numeric en "han-kaku" */ $str = mb_convert_kana($str, "KVa"); ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.mb-encode-mimeheader"> <refnamediv> <refname>mb_encode_mimeheader</refname> <refpurpose>Encode une chaîne pour une en-tête MIME</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_encode_mimeheader</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>string <parameter><optional>charset</optional></parameter> </paramdef> <paramdef>string <parameter><optional>transfer-encoding</optional></parameter> </paramdef> <paramdef>string <parameter><optional>linefeed</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_encode_mimeheader</function> convertit la chaîne <parameter>str</parameter> en en-tête MIME, et retourne la chaîne encodée. </para> <para> <parameter>charset</parameter> est le nom de l'encodage. Par défaut, c'est <literal>ISO-2022-JP</literal>. </para> <para> <parameter>transfer-encoding</parameter> est l'encodage de transfert. Il peut être <literal>"B"</literal> (Base64) ou <literal>"Q"</literal> (Quoted-Printable). Par défaut, c'est <literal>"B"</literal>. </para> <para> <parameter>linefeed</parameter> est le marqueur de fin de ligne. Par défaut, c'est <literal>"\r\n"</literal> (CRLF). </para> <para> <example> <title>Exemple avec <function>mb_convert_kana</function></title> <programlisting role="php"> <?php $name = ""; // kanji $mbox = "kru"; $doma = "gtinn.mon"; $addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">"; echo $addr; ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_decode_mimeheader</function>. </para> </refsect1> </refentry> <refentry id="function.mb-decode-mimeheader"> <refnamediv> <refname>mb_decode_mimeheader</refname> <refpurpose>Décode une en-tête MIME</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_decode_mimeheader</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_decode_mimeheader</function> décode l'en-tête MIME <parameter>str</parameter>, obtenue dans un courrier électronique. </para> <para> <function>mb_decode_mimeheader</function> retourne la chaîne décodée, encodée au format interne. </para> <para> Voir aussi <function>mb_encode_mimeheader</function>. </para> </refsect1> </refentry> <refentry id="function.mb-convert-variables"> <refnamediv> <refname>mb_convert_variables</refname> <refpurpose>Convertit l'encodage de variables</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_convert_variables</function></funcdef> <paramdef>string <parameter>to-encoding</parameter></paramdef> <paramdef>mixed <parameter>from-encoding</parameter></paramdef> <paramdef>mixed <parameter>vars</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_convert_variables</function> convertit l'encodage des variables <parameter>vars</parameter> depuis l'encodage <parameter>from-encoding</parameter> vers l'encodage <parameter>to-encoding</parameter>, puis retourne le nom de l'encodage détecté, en cas de succès, ou <literal>FALSE</literal> en cas d'échec. </para> <para> <parameter>from-encoding</parameter> est une liste d'encodages possibles pour les variables <parameter>vars</parameter>, fourni sous forme d'un tableau ou d'une liste d'encodage, séparés par des virgules. Si <parameter>from-coding</parameter> est omis, les encodages fournit dans <function>mb_detect_order</function> sont utilisés. </para> <para> <parameter>vars</parameter> est une référence sur une variables à convertir. Les chaînes, tableaux et objets sont aussi supportés. </para> <para> <example> <title>Exemple avec <function>mb_convert_variables</function></title> <programlisting role="php"> <?php /* Convertit les variables $post1, $post2 en encodage interne */ $interenc = mb_internal_encoding(); $inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2); ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.mb-encode-numericentity"> <refnamediv> <refname>mb_encode_numericentity</refname> <refpurpose> Encode des entités HTML </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_encode_numericentity</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>array <parameter>convmap</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_encode_numericentity</function> convertit la chaîne <parameter>str</parameter> depuis encodage interne en les codes numériques HTML, puis retourne cette chaîne. </para> <para> <parameter>array</parameter> est un tableau qui spécifie les codes à convertir. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> <example> <title>Exemple de paramètre <parameter>convmap</parameter></title> <programlisting role="php"> <?php $convmap = array ( int start_code1, int end_code1, int offset1, int mask1, int start_code2, int end_code2, int offset2, int mask2, ........ int start_codeN, int end_codeN, int offsetN, int maskN ); // Spécifie les valeurs Unicode de début (start_codeN) et fin (end_codeN) // Ajoutez offsetN à la valeur, et faites un ET bit-à-bit avec maskN, puis // il convertit la valeur obtenu en entite numérique ?> </programlisting> </example> </para> <para> <example> <title>Exemple avec <function>mb_encode_numericentity</function></title> <programlisting role="php"> <?php /* Convertit du ISO-8859-1 en entités HTML */ $convmap = array(0x80, 0xff, 0, 0xff); $str = mb_encode_numericentity($str, $convmap, "ISO-8859-1"); /* Convertit du code SJIS-win (uniquement le bloc 95-104) en entités numérique */ $convmap = array( 0xe000, 0xe03e, 0x1040, 0xffff, 0xe03f, 0xe0bb, 0x1041, 0xffff, 0xe0bc, 0xe0fa, 0x1084, 0xffff, 0xe0fb, 0xe177, 0x1085, 0xffff, 0xe178, 0xe1b6, 0x10c8, 0xffff, 0xe1b7, 0xe233, 0x10c9, 0xffff, 0xe234, 0xe272, 0x110c, 0xffff, 0xe273, 0xe2ef, 0x110d, 0xffff, 0xe2f0, 0xe32e, 0x1150, 0xffff, 0xe32f, 0xe3ab, 0x1151, 0xffff ); $str = mb_encode_numericentity($str, $convmap, "sjis-win"); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_decode_numericentity</function>. </para> </refsect1> </refentry> <refentry id="function.mb_decode_numericentity"> <refnamediv> <refname>mb_decode_numericentity</refname> <refpurpose> Décode les entités HTML en caractères </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_decode_numericentity</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>array <parameter>convmap</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_decode_numericentity</function> la chaîne d'entités HTML <parameter>str</parameter> en chaîne, et retourne cette chaîne. </para> <para> <parameter>array</parameter> est un tableau qui spécifie les codes à convertir. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> <example> <title>Exemple avec le paramètre <parameter>convmap</parameter></title> <programlisting> $convmap = array ( int start_code1, int end_code1, int offset1, int mask1, int start_code2, int end_code2, int offset2, int mask2, ........ int start_codeN, int end_codeN, int offsetN, int maskN ); // Spécifie les valeurs Unicode de début (start_codeN) et fin (end_codeN) // Ajoutez offsetN à la valeur, et faites un ET bit-à-bit avec maskN, puis // il convertit la valeur obtenu en entite numérique ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_encode_numericentity</function>. </para> </refsect1> </refentry> <refentry id="function.mb-send-mail"> <refnamediv> <refname>mb_send_mail</refname> <refpurpose> Envoie un mail encodé ISO-2022-JP (mail japonais) </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>mb_send_mail</function></funcdef> <paramdef>string <parameter>to</parameter></paramdef> <paramdef>string <parameter>subject</parameter></paramdef> <paramdef>string <parameter>message</parameter></paramdef> <paramdef>string <parameter><optional>additional_headers</optional></parameter> </paramdef> <paramdef>string <parameter><optional>additional_parameter</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_send_mail</function> envoie un courrier électronique. Les en-têtes et le corps du mesage sont convertis et encodés en ISO-2022-JP. <function>mb_send_mail</function> est une version adaptée de <function>mail</function>. </para> <para> <parameter>to</parameter> est l'adresse de destination du mail. Les adresses multiples peuvent être spécifiées en les séparant par des virgules. </para> <para> <parameter>subject</parameter> est le sujet du mail. </para> <para> <parameter>message</parameter> est le message du mail. </para> <para> La chaîne <parameter>additional_headers</parameter> est insérée à la fin de l'en-tête mail. Elle sert à ajouter d'autres en-têtes email. N'oubliez pas de les séparer par des nouvelles lignes (\n). </para> <para> <function>mb_send_mail</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> en cas d'erreur. </para> <para> Voir aussi <function>mail</function>. </para> </refsect1> </refentry> </reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: --> <!-- Keep this comment for vi/vim/gvim vi: et:ts=1:sw=1 -->
Index: phpdoc/fr/functions/mbstring.xml +++ phpdoc/fr/functions/mbstring.xml <reference id="ref.mbstring"> <title>Chaînes de caractères multi-octets</title> <titleabbrev>Chaînes de caractères multi-octets</titleabbrev> <partintro> <sect1 id="mb-intro"> <title>Introduction</title> <warning> <simpara> Ce module est expérimental. Les noms des fonctions sont sujets à des changaments probables. Actuellement, les conversions ne supportent que le Japonais. </simpara> </warning> <para> De nombreuses langues dont les signes ne peuvent pas être exprimés sur un seul octet. Des codes multi-octets sont utilisés pour pallier à cette insuffisance. <literal>mbstring</literal> est développé pour supporter les caractères japonais. Cependant, de nombreuses fonctions <literal>mbstring</literal> peuvent supporter d'autres jeux de caractères. </para> <para> Les jeux de caractères multi-octets représentent les caractères sur plusieurs octets consécutifs (d'où leur nom). Certains systèmes d'encodages ont des caractères d'échappement dédiés, pour démarrer/finir une séquence de caractères multi-octets. De ce fait, certains caractères peuvent être détruit lorsqu'une chaîne est coupée en plusieurs morceaux, ou bien conduire à des résultats erronnés lorsque le nombre de caractère est compté. Il faut utiliser des fonctions qui supportent ces encodages. Les fonctions <literal>mbstring</literal> supportent les jeux de caractères multi-octets, ainsi que les conversions. </para> <sect2 id="mb-ja-basic"> <title>Cas des caractères japonais</title> <para> La plupart des caractères japonais demandent plus d'un octet pour être représentés. De plus, plusieurs jeux de caractères japonais existent : il y a notamment EUC-JP, Shift_JIS et ISO-2022-JP. Unicode devient de plus en plus populaire, et UTF-8 aussi. Pour développer des applications Web en environnement japonais, il faut savoir que les encodages ci-dessus dépendent de l'application qu'on en fait : entrée/sortie HTTP, bases de données ou courrier électronique. </para> <para> <itemizedlist> <listitem> <simpara> La taille nécessaire à un caractère peut aller jusqu'à 4 octets. </simpara> </listitem> <listitem> <simpara> Un caractère multi-octets occupe généralement deux octets, à comparer avec les caractères simple-octet traditionnellement utilisé. Les caractères les plus gros sont appelés "zen-kaku" (i.e. grande largeur) et les plus petits sont appelés "han-kaku" (i.e. demi-largeur). Les caractères "zen-kaku" sont généralement de taille constante. </simpara> </listitem> <listitem> <simpara> Certains encodage de caractères définissent des séquences de début/fin pour les sections multi-octets. </simpara> </listitem> <listitem> <simpara> Les bases de données allouent des tailles de stockages différentes de celles utilisées par PHP, même si le même encodage de caractère est utilisé (par exemple, PostGreSQL). </simpara> </listitem> <listitem> <simpara> Le courrier électronique utilise généralement ISO-2022-JP. </simpara> </listitem> <listitem> <para> Les sites web en "i-mode" utilisent Shift_JIS. </para> </listitem> </itemizedlist> </para> </sect2> <sect2 id="mb-code"> <title>Jeux de caractères supportés</title> <para> Les jeux de caractères suivants sont supportés par cette extension PHP : <literal>UCS-4</literal>, <literal>UCS-4BE</literal>, <literal>UCS-4LE</literal>, <literal>UCS-2</literal>, <literal>UCS-2BE</literal>, <literal>UCS-2LE</literal>, <literal>UTF-32</literal>, <literal>UTF-32BE</literal>, <literal>UTF-32LE</literal>, <literal>UCS-2LE</literal>, <literal>UTF-16</literal>, <literal>UTF-16BE</literal>, <literal>UTF-16LE</literal>, <literal>UTF-8</literal>, <literal>UTF-7</literal>, <literal>ASCII</literal>, <literal>EUC-JP</literal>, <literal>SJIS</literal>, <literal>eucJP-win</literal>, <literal>SJIS-win</literal>, <literal>ISO-2022-JP</literal>(<literal>JIS</literal>), <literal>ISO-8859-1</literal>, <literal>ISO-8859-2</literal>, <literal>ISO-8859-3</literal>, <literal>ISO-8859-4</literal>, <literal>ISO-8859-5</literal>, <literal>ISO-8859-6</literal>, <literal>ISO-8859-7</literal>, <literal>ISO-8859-8</literal>, <literal>ISO-8859-9</literal>, <literal>ISO-8859-10</literal>, <literal>ISO-8859-13</literal>, <literal>ISO-8859-14</literal>, <literal>ISO-8859-15</literal>. </para> </sect2> <sect2 id="mb-ini"> <title>Configuration du fichier php.ini</title> <para> <itemizedlist> <listitem> <simpara> <literal>mbstring.internal_encoding</literal> définit le jeu de caractères interne par défaut. </simpara> </listitem> <listitem> <simpara> <literal>mbstring.http_input</literal> définit le jeu de caractères d'entrée HTTP par défaut. </simpara> </listitem> <listitem> <simpara> <literal>mbstring.http_output</literal> defines définit le jeu de caractères d'affichage HTTP par défaut. </simpara> </listitem> <listitem> <simpara> <literal>mbstring.detect_order</literal> définit l'ordre de détection des jeux de caractères (lors de la lecture sur une source externe inconnue). </simpara> </listitem> <listitem> <simpara> <literal>mbstring.substitute_character</literal> définit le caractère de substitution pour les codes invalides. </simpara> </listitem> </itemizedlist> </para> <para> <example> <title>Exemple de configuration du <literal>php.ini</literal></title> <programlisting role="php.ini"> ;; Set default internal encoding mbstring.internal_encoding = UTF-8 ; Par défaut, to UTF-8 ;; Set default HTTP input character code mbstring.http_input = auto ; Par défaut, mode automatique ; or ; mbstring.http_input = SJIS ; Par défaut, HTTP fournit du code SJIS ; mbstring.http_input = eucjp-win, sjis-win, UTF-8 ; Ordre spécifique ;; Set default HTTP output character code mbstring.http_output = UTF-8 ; Par défaut, HTTP affiche du code UTF-8 ;; Set default character code detection order mbstring.detect_order = auto ; Par défaut, mode automatique ; or ; mbstring.detect_order = eucjp-win, sjis-win, UTF-8 ; Ordre spécifique ;; Set default substitute character mbstring.substitute_character = 12307 ; Spécifie un code de caractère ; or ; mbstring.substitute_character = none ; Caractère NULL ; mbstring.substitute_character = long ; Long </programlisting> </example> </para> </sect2> </sect1> </partintro> <refentry id="function.mb-internal-encoding"> <refnamediv> <refname>mb_internal_encoding</refname> <refpurpose> Lit/modifie l'encodage interne </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_internal_encoding</function></funcdef> <paramdef>string <parameter><optional>encoding</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_internal_encoding</function> modifie l'encodage interne courant en le remplacant par <parameter>encoding</parameter>. Si ce paramètre est omis, l'encodage interne courant est retourné. </para> <para> <parameter>encoding</parameter> sert lors des conversions des chaînes en provenance et en direction du web, ainsi que lors de la création de chaînes avec le module mbstring. </para> <para> <parameter>encoding</parameter>: Nom d'encodage. </para> <para> Valeur retournée : si <parameter>encoding</parameter> est fourni, <function>mb_internal_encoding</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> sinon. Si <parameter>encoding</parameter> est omis, <function>mb_internal_encoding</function> retourne le nom de l'encodage courant. </para> <para> <example> <title>Exemple avec <function>mb_internal_encoding</function></title> <programlisting role="php"> <?php /* Utilise l'encodage interne UTF-8 */ mb_internal_encoding("UTF-8"); /* Affiche l'encodage interne courant */ echo mb_internal_encoding(); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_http_input</function>, <function>mb_http_output</function> et <function>mb_detect_order</function> </para> </refsect1> </refentry> <refentry id="function.mb-http-input"> <refnamediv> <refname>mb_http_input</refname> <refpurpose>Détecte le type d'encodage d'un caractère HTTP</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_http_input</function></funcdef> <paramdef>string <parameter><optional>type</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <simpara> <function>mb_http_input</function> retourne le type d'encodage utilisé par une requête HTTP. </simpara> <para> Le paramètre <parameter>type</parameter> spécifie le type d'entrée HTTP. Il peut prendre l'une des valeurs suivantes : "G" pour GET, "P" pour POST, "C" pour COOKIE. Si <parameter>type</parameter> est omis, il prend la valeur du dernier type utilisé. </para> <para> Valeur retournée : nom de l'encodage utilisé. Si <function>mb_http_input</function> ne peut traiter ce type d'encodage, elle retourne <literal>FALSE</literal>. </para> <para> Voir aussi <function>mb_internal_encoding</function>, <function>mb_http_output</function> et <function>mb_detect_order</function> </para> </refsect1> </refentry> <refentry id="function.mb-http-output"> <refnamediv> <refname>mb_http_output</refname> <refpurpose>Lit/modifie l'encodage d'affichage</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_http_output</function></funcdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Si <parameter>encoding</parameter> est fourni, <function>mb_http_output</function> utilisera dorénavant l'encodage <parameter>encoding</parameter> pour les affichages HTTP : les caractères qui seront envoyés aux clients web seront convertis dans le jeu de caractères <parameter>encoding</parameter>. <function>mb_http_output</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> en cas d'échec. </para> <para> Si <parameter>encoding</parameter> est omis, <function>mb_http_output</function> retourne l'encodage d'affichage courant. </para> <para> Voir aussi <function>mb_internal_encoding</function>, <function>mb_http_input</function> et <function>mb_detect_order</function> </para> </refsect1> </refentry> <refentry id="function.mb-detect-order"> <refnamediv> <refname>mb_detect_order</refname> <refpurpose> Lit/modifie l'ordre de détection des encodages </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>mb_detect_order</function></funcdef> <paramdef>mixed <parameter><optional>encoding-list</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_detect_order</function> remplace l'ordre de détection des encodages courant par <parameter>encoding-list</parameter>. <function>mb_detect_order</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> en cas d'erreur failure. </para> <para> <parameter>encoding-list</parameter> est un tableau, ou une liste d'encodages séparés par une virgule. La valeur <literal>"auto"</literal> est automatiquement remplacé par "ASCII, JIS, UTF-8, EUC-JP, SJIS". </para> <para> SI <parameter>encoding-list</parameter> est omis, <function>mb_detect_order</function> retourne l'ordre de détection courant des encodages. </para> <para> Ce paramétrage affected les fonctions <function>mb_detect_encoding</function> et <function>mb_send_mail</function>. </para> <para> <example> <title>Exemple avec <function>mb_detect_order</function></title> <programlisting role="php"> <?php /* Remplace l'ordre de détection par une liste énumérée */ mb_detect_order("eucjp-win,sjis-win,UTF-8"); /* Remplace l'ordre de détection par un tableau */ $ary[] = "ASCII"; $ary[] = "JIS"; $ary[] = "EUC-JP"; mb_detect_order($ary); /* Affiche l'ordre de détection courant */ echo implode(", ", mb_detect_order()); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_internal_encoding</function>, <function>mb_http_input</function>, <function>mb_http_output</function> et <function>mb_send_mail</function> </para> </refsect1> </refentry> <refentry id="function.mb-substitute-character"> <refnamediv> <refname>mb_substitute_character</refname> <refpurpose>Lit/modifie les caractères de substitution</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>mb_substitute_character</function></funcdef> <paramdef>mixed <parameter><optional>substrchar</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_substitute_character</function> spécifie le caractère de substitution des caractères invalides, ou des encodages invalides. Les caractères invalides peuvent être remplacés par NULL (pas d'affichage, ils sont supprimés), une chaîne ou un code héxadécimal. </para> <para> Ce paramétrage affecte <function>mb_detect_encoding</function> et <function>mb_send_mail</function>. </para> <para> <parameter>substchar</parameter> spécifie une valeur Unicode sous la forme d'un entier, ou bien une chaîne sous ces formes : <itemizedlist> <listitem> <simpara> "none" : pas d'affichage </simpara> </listitem> <listitem> <simpara> "long" : affiche la valeur hexadécimale (Par exemple : U+3000,JIS+7E7E) </simpara> </listitem> </itemizedlist> </para> <para> SI <parameter>substchar</parameter> est fourni, <function>mb_substitute_character</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> en cas d'erreur. Si <parameter>substchar</parameter> est omis, <function>mb_substitute_character</function> retourne une valeur Unicode, ou bien "<literal>none</literal>"/"<literal>long</literal>". </para> <para> <example> <title>Exemple avec <function>mb_substitute_character</function></title> <programlisting role="php"> <?php /* Configure le caractère de substitution avec U+3013 (GETA MARK) */ mb_substitute_character(0x3013); /* Configure le caractère de substitution avec un format héxadécimal */ mb_substitute_character("long"); /* Affiche la configuration courante */ echo mb_substitute_character(); ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.mb-output-handler"> <refnamediv> <refname>mb_output_handler</refname> <refpurpose> Fonction de traitement des affichages web </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_output_handler</function></funcdef> <paramdef>string <parameter>contents</parameter></paramdef> <paramdef>int <parameter>status</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_output_handler</function> est la fonction à fournir à <function>ob_start</function>. <function>mb_output_handler</function> convertit les caractères envoyés au client Web, dans l'encodage paramétré avec <function>mb_http_output</function>. </para> <para> <parameter>contents</parameter> : Le contenu à traiter </para> <para> <parameter>status</parameter> : L'état du contenu </para> <para> <function>mb_output_handler</function> retourne la chaîne convertie. </para> <para> <example> <title>Exemple avec <function>mb_output_handler</function></title> <programlisting role="php"> <?php mb_http_output("UTF-8"); ob_start("mb_output_handler"); ?> </programlisting> </example> </para> <note> <para> Si vous souhaitez envoyer des données binaires telles que des images issues d'un script PHP, vous devez spécifier l'encodage spécial <literal>"pass"</literal>, avec la fonction <function>mb_http_output</function>. </para> </note> <para> Voir aussi <function>ob_start</function>. </para> </refsect1> </refentry> <refentry id="function.mb-preferred-mime-name"> <refnamediv> <refname>mb_preferred_mime_name</refname> <refpurpose>Détecte l'encodage MIME</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_preferred_mime_name</function></funcdef> <paramdef>string <parameter>encoding</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_preferred_mime_name</function> retourne le type d'encodage MIME utilisé dans le mail <parameter>encoding</parameter>. Le nom de l'encodage est retourné sous forme de chaîne. </para> <para> <example> <title>Exemple avec <function>mb_preferred_mime_string</function></title> <programlisting role="php"> <?php $outputenc = "sjis-win"; mb_http_output($outputenc); ob_start("mb_output_handler"); Header("Content-Type: text/html; charset=" . mb_preferred_mime_name($outputenc)); ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.mb-strlen"> <refnamediv> <refname>mb_strlen</refname> <refpurpose>Retourne la taille d'une chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_strlen</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strlen</function> retourne le nombre de caractères dans la chaîne <parameter>str</parameter>, avec l'encodage <parameter>encoding</parameter>. Un caractère multi-octets est alors compté pour 1. </para> <para> Voir aussi <function>mb_internal_encoding</function>, <function>strlen</function>. </para> </refsect1> </refentry> <refentry id="function.mb-strpos"> <refnamediv> <refname>mb_strpos</refname> <refpurpose> Repère la première occurence d'un caractère dans une chaîne </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_strpos</function></funcdef> <paramdef>string <parameter>haystack</parameter></paramdef> <paramdef>string <parameter>needle</parameter></paramdef> <paramdef>int <parameter><optional>offset</optional></parameter> </paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strpos</function> retourne la position numérique de la première occurence du caractère <parameter>needle</parameter> dans la chaîne <parameter>haystack</parameter>. Si <parameter>needle</parameter> est introuvable, <function>mb_strpos</function> retourne <literal>FALSE</literal>. </para> <para> <function>mb_strpos</function> effectue une recherche de type <function>strpos</function>, en tenant compte des caractères multi-octets. La position de <parameter>needle</parameter> est comptée à partir du début de la chaîne <parameter>haystack</parameter> : les positions commencent à 0. </para> <para> Si <parameter>encoding</parameter> est omis, l'encodage interne par défaut est utilisé. <function>mb_strrpos</function> accepte des chaînes comme argument <parameter>needle</parameter>, alors que <function>strrpos</function> n'accepte que des caractères. </para> <para> <parameter>offset</parameter> est l'offset de début de recherche. S'il est omis, il sera utilisé à 0 (début de la chaîne). </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> Voir aussi <function>mb_strpos</function>, <function>mb_internal_encoding</function> et <function>strpos</function> </para> </refsect1> </refentry> <refentry id="function.mb-strrpos"> <refnamediv> <refname>mb_strrpos</refname> <refpurpose> Repère la dernière occurence d'un caractère dans une chaîne </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_strrpos</function></funcdef> <paramdef>string <parameter>haystack</parameter></paramdef> <paramdef>string <parameter>needle</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strrpos</function> retourne la position numérique de la première occurence du caractère <parameter>needle</parameter> dans la chaîne <parameter>haystack</parameter>. Si <parameter>needle</parameter> est introuvable, <function>mb_strrpos</function> retourne <literal>FALSE</literal>. </para> <para> <function>mb_strrpos</function> effectue une recherche de type <function>strpos</function>, en tenant compte des caractères multi-octets. La position de <parameter>needle</parameter> est comptée à partir du début de la chaîne <parameter>haystack</parameter> : les positions commencent à 0. </para> <para> Si <parameter>encoding</parameter> est omis, l'encodage interne par défaut est utilisé. <function>mb_strrpos</function> accepte des chaînes comme argument <parameter>needle</parameter>, alors que <function>strrpos</function> n'accepte que des caractères. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> Voir aussi <function>mb_strpos</function>, <function>mb_internal_encoding</function> et <function>strrpos</function>. </para> </refsect1> </refentry> <refentry id="function.mb-substr"> <refnamediv> <refname>mb_substr</refname> <refpurpose>Lit une sous-chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_substr</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> <paramdef>int <parameter><optional>length</optional></parameter> </paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_substr</function> retourne la portion de la chaîne <parameter>str</parameter> qui commence au caractère <parameter>start</parameter> et a la longueur de <parameter>length</parameter> caractères. </para> <para> <function>mb_substr</function> effectue une recherche de type <function>strpos</function>, en tenant compte des caractères multi-octets. La position de <parameter>needle</parameter> est comptée à partir du début de la chaîne <parameter>haystack</parameter> : les positions commencent à 0. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> Voir aussi <function>mb_strcut</function> et <function>mb_internal_encoding</function>. </para> </refsect1> </refentry> <refentry id="function.mb-strcut"> <refnamediv> <refname>mb_strcut</refname> <refpurpose>Coupe une partie de chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_strcut</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> <paramdef>int <parameter><optional>length</optional></parameter> </paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strcut</function> retourne la portion de la chaîne <parameter>str</parameter> qui commence au caractère <parameter>start</parameter> et a la longueur de <parameter>length</parameter> caractères. </para> <para> <function>mb_strcut</function> effectue une recherche de type <function>strpos</function>, en tenant compte des caractères multi-octets. La position de <parameter>needle</parameter> est comptée à partir du début de la chaîne <parameter>haystack</parameter> : les positions commencent à 0. </para> <para> <function>mb_strcut</function> soustrait la partie de la chaîne <parameter>str</parameter> qui compte <parameter>length</parameter> caractères. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> Voir aussi <function>mb_substr</function> et <function>mb_internal_encoding</function>. </para> </refsect1> </refentry> <refentry id="function.mb-strwidth"> <refnamediv> <refname>mb_strwidth</refname> <refpurpose>Retourne la largeur d'une chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>mb_strwidth</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strwidth</function> retourne la largeur de la chaîne <parameter>str</parameter>. </para> <para> Les chaînes à encodage multi-octet sont généralement deux fois plus grandes que les chaînes à simple-octet. </para> <para> <informalexample> <programlisting> Largeur de caractères : U+0000 - U+0019 0 U+0020 - U+1FFF 1 U+2000 - U+FF60 2 U+FF61 - U+FF9F 1 U+FFA0 - 2 </programlisting> </informalexample> </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> Voir aussi <function>mb_strimwidth</function> et <function>mb_internal_encoding</function>. </para> </refsect1> </refentry> <refentry id="function.mb-strmwidth"> <refnamediv> <refname>mb_strimwidth</refname> <refpurpose>Tronque une chaîne</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_strimwidth</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>int <parameter>start</parameter></paramdef> <paramdef>int <parameter>width</parameter></paramdef> <paramdef>string <parameter>trimmarker</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_strimwidth</function> tronque la chaîne <parameter>str</parameter> à la longueur <parameter>width</parameter>. Elle retourne la chaîne tronquée. </para> <para> SI <parameter>trimmarker</parameter> est fourni, <parameter>trimmarker</parameter> est ajoutée à la fin de la chaîne retournée. </para> <para> <parameter>start</parameter> est l'offet de départ, en nombre de caractères depuis le début de la chaîne (cela commence à 0). </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> <example> <title>Exemple avec <function>mb_strimwidth</function></title> <programlisting role="php"> <?php $str = mb_strimwidth($str, 0, 40, "..>"); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_strwidth</function> et <function>mb_internal_encoding</function>. </para> </refsect1> </refentry> <refentry id="function.mb-convert-encoding"> <refnamediv> <refname>mb_convert_encoding</refname> <refpurpose>Conversion d'encodage</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_convert_encoding</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>string <parameter>to-encoding</parameter></paramdef> <paramdef>mixed <parameter><optional>from-encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_convert_encoding</function> convertit la chaîne <parameter>str</parameter> depuis l'encodage <parameter>from-encoding</parameter> vers l'encodage <parameter>to-encoding</parameter>. </para> <para> <parameter>str</parameter> à convertir. </para> <para> <parameter>from-encoding</parameter> est l'encodage de la chaîne <parameter>str</parameter> à l'origine. Il sera détecté parmi plusieurs encodage fournis sous forme d'un tableau, ou d'une liste d'encodages séparés par des virgules. </para> <para> <example> <title>Exemple avec <function>mb_convert_encoding</function></title> <programlisting role="php"> <?php /* Convertit l'encodage interne vers SJIS */ $str = mb_convert_encoding($str, "SJIS"); /* Convertit EUC-JP en UTF-7 */ $str = mb_convert_encoding($str, "UTF-7", "EUC-JP"); /* Détecte automatiquement un encodage entre JIS, eucjp-win ou sjis-win, Puis convertit en UCS-2LE */ $str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win"); /* "auto" signifie "ASCII,JIS,UTF-8,EUC-JP,SJIS" */ $str = mb_convert_encoding($str, "EUC-JP", "auto"); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_detect_order</function>. </para> </refsect1> </refentry> <refentry id="function.mb-detect-encoding"> <refnamediv> <refname>mb_detect_encoding</refname> <refpurpose>Détecte un encodage</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_detect_encoding</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>mixed <parameter><optional>encoding-list</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_detect_encoding</function> détecte l'encodage utilisé par la chaîne <parameter>str</parameter>. <function>mb_detect_encoding</function> retourne le nom de l'encodage détecté. </para> <para> <parameter>encoding-list</parameter> est une liste d'encodage, sous forme de tableau, ou bien de chaîne, les valeurs étant séparés par des virgules. </para> <para> Si <parameter>encoding_list</parameter> est omis, l'ordre spécifié par <function>mb_detect_order</function> est utilisé. </para> <para> <example> <title>Exemple avec <function>mb_detect_encoding</function></title> <programlisting role="php"> <?php /* Détecte l'encodage avec les valeurs par défaut */ echo mb_detect_encoding($str); /* "auto" signifie "ASCII,JIS,UTF-8,EUC-JP,SJIS" */ echo mb_detect_encoding($str, "auto"); /* Spécifie une liste d'encodages possibles avec une liste à virgules */ echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win"); /* Spécifie une liste d'encodages possibles avec un tableau */ $ary[] = "ASCII"; $ary[] = "JIS"; $ary[] = "EUC-JP"; echo mb_detect_encoding($str, $ary); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_detect_order</function>. </para> </refsect1> </refentry> <refentry id="function.mb-convert-kana"> <refnamediv> <refname>mb_convert_kana</refname> <refpurpose> Convertit entre les différents "kana" </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_convert_kana</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>string <parameter>option</parameter></paramdef> <paramdef>mixed <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_convert_kana</function> effectue une conversion "han-kaku" - "zen-kaku" sur la chaîne <parameter>str</parameter>. Elle retourne la chaîne convertie. Cette fonction n'est utile que pour le japonais. </para> <para> <parameter>option</parameter> est l'option de conversion. La valeur par défaut est <literal>"KV"</literal>. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> <informalexample> <programlisting> Options de conversions possibles : "r" : Convertit l'alphabet "zen-kaku" en "han-kaku" "R" : Convertit l'alphabet "han-kaku" en "zen-kaku" "n" : Convertit les nombres "zen-kaku" en "han-kaku" "N" : Convertit les nombres "han-kaku" en "zen-kaku" "a" : Convertit les nombres et alphabets "zen-kaku" en "han-kaku" "A" : Convertit les nombres et alphabets "zen-kaku" en "han-kaku" (Les caractères inclus dans les options "a", "A" sont U+0021 - U+007E en excluant U+0022, U+0027, U+005C, U+007E) "s" : Convertit les espaces "zen-kaku" en "han-kaku" (U+3000 -> U+0020) "S" : Convertit les espaces "han-kaku" en "zen-kaku" (U+0020 -> U+3000) "k" : Convertit "zen-kaku kata-kana" en "han-kaku kata-kana" "K" : Convertit "han-kaku kata-kana" en "zen-kaku kata-kana" "h" : Convertit "zen-kaku hira-gana" en "han-kaku kata-kana" "H" : Convertit "han-kaku kata-kana" en "zen-kaku hira-gana" "c" : Convertit "zen-kaku kata-kana" en "zen-kaku hira-gana" "C" : Convertit "zen-kaku hira-gana" en "zen-kaku kata-kana" "V" : Supprime les notations vocales, et les convertit en caractères. A utiliser avec "K","H" </programlisting> </informalexample> </para> <para> <example> <title>Exemple avec <function>mb_convert_kana</function></title> <programlisting role="php"> <?php /* Convertit tous les "kana" en "zen-kaku" "kata-kana" */ $str = mb_convert_kana($str, "KVC"); /* Convertit "han-kaku" "kata-kana" en "zen-kaku" "kata-kana" et "zen-kaku" alpha-numeric en "han-kaku" */ $str = mb_convert_kana($str, "KVa"); ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.mb-encode-mimeheader"> <refnamediv> <refname>mb_encode_mimeheader</refname> <refpurpose>Encode une chaîne pour une en-tête MIME</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_encode_mimeheader</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>string <parameter><optional>charset</optional></parameter> </paramdef> <paramdef>string <parameter><optional>transfer-encoding</optional></parameter> </paramdef> <paramdef>string <parameter><optional>linefeed</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_encode_mimeheader</function> convertit la chaîne <parameter>str</parameter> en en-tête MIME, et retourne la chaîne encodée. </para> <para> <parameter>charset</parameter> est le nom de l'encodage. Par défaut, c'est <literal>ISO-2022-JP</literal>. </para> <para> <parameter>transfer-encoding</parameter> est l'encodage de transfert. Il peut être <literal>"B"</literal> (Base64) ou <literal>"Q"</literal> (Quoted-Printable). Par défaut, c'est <literal>"B"</literal>. </para> <para> <parameter>linefeed</parameter> est le marqueur de fin de ligne. Par défaut, c'est <literal>"\r\n"</literal> (CRLF). </para> <para> <example> <title>Exemple avec <function>mb_convert_kana</function></title> <programlisting role="php"> <?php $name = ""; // kanji $mbox = "kru"; $doma = "gtinn.mon"; $addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">"; echo $addr; ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_decode_mimeheader</function>. </para> </refsect1> </refentry> <refentry id="function.mb-decode-mimeheader"> <refnamediv> <refname>mb_decode_mimeheader</refname> <refpurpose>Décode une en-tête MIME</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_decode_mimeheader</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_decode_mimeheader</function> décode l'en-tête MIME <parameter>str</parameter>, obtenue dans un courrier électronique. </para> <para> <function>mb_decode_mimeheader</function> retourne la chaîne décodée, encodée au format interne. </para> <para> Voir aussi <function>mb_encode_mimeheader</function>. </para> </refsect1> </refentry> <refentry id="function.mb-convert-variables"> <refnamediv> <refname>mb_convert_variables</refname> <refpurpose>Convertit l'encodage de variables</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_convert_variables</function></funcdef> <paramdef>string <parameter>to-encoding</parameter></paramdef> <paramdef>mixed <parameter>from-encoding</parameter></paramdef> <paramdef>mixed <parameter>vars</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_convert_variables</function> convertit l'encodage des variables <parameter>vars</parameter> depuis l'encodage <parameter>from-encoding</parameter> vers l'encodage <parameter>to-encoding</parameter>, puis retourne le nom de l'encodage détecté, en cas de succès, ou <literal>FALSE</literal> en cas d'échec. </para> <para> <parameter>from-encoding</parameter> est une liste d'encodages possibles pour les variables <parameter>vars</parameter>, fourni sous forme d'un tableau ou d'une liste d'encodage, séparés par des virgules. Si <parameter>from-coding</parameter> est omis, les encodages fournit dans <function>mb_detect_order</function> sont utilisés. </para> <para> <parameter>vars</parameter> est une référence sur une variables à convertir. Les chaînes, tableaux et objets sont aussi supportés. </para> <para> <example> <title>Exemple avec <function>mb_convert_variables</function></title> <programlisting role="php"> <?php /* Convertit les variables $post1, $post2 en encodage interne */ $interenc = mb_internal_encoding(); $inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2); ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.mb-encode-numericentity"> <refnamediv> <refname>mb_encode_numericentity</refname> <refpurpose> Encode des entités HTML </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_encode_numericentity</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>array <parameter>convmap</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_encode_numericentity</function> convertit la chaîne <parameter>str</parameter> depuis encodage interne en les codes numériques HTML, puis retourne cette chaîne. </para> <para> <parameter>array</parameter> est un tableau qui spécifie les codes à convertir. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> <example> <title>Exemple de paramètre <parameter>convmap</parameter></title> <programlisting role="php"> <?php $convmap = array ( int start_code1, int end_code1, int offset1, int mask1, int start_code2, int end_code2, int offset2, int mask2, ........ int start_codeN, int end_codeN, int offsetN, int maskN ); // Spécifie les valeurs Unicode de début (start_codeN) et fin (end_codeN) // Ajoutez offsetN à la valeur, et faites un ET bit-à-bit avec maskN, puis // il convertit la valeur obtenu en entite numérique ?> </programlisting> </example> </para> <para> <example> <title>Exemple avec <function>mb_encode_numericentity</function></title> <programlisting role="php"> <?php /* Convertit du ISO-8859-1 en entités HTML */ $convmap = array(0x80, 0xff, 0, 0xff); $str = mb_encode_numericentity($str, $convmap, "ISO-8859-1"); /* Convertit du code SJIS-win (uniquement le bloc 95-104) en entités numérique */ $convmap = array( 0xe000, 0xe03e, 0x1040, 0xffff, 0xe03f, 0xe0bb, 0x1041, 0xffff, 0xe0bc, 0xe0fa, 0x1084, 0xffff, 0xe0fb, 0xe177, 0x1085, 0xffff, 0xe178, 0xe1b6, 0x10c8, 0xffff, 0xe1b7, 0xe233, 0x10c9, 0xffff, 0xe234, 0xe272, 0x110c, 0xffff, 0xe273, 0xe2ef, 0x110d, 0xffff, 0xe2f0, 0xe32e, 0x1150, 0xffff, 0xe32f, 0xe3ab, 0x1151, 0xffff ); $str = mb_encode_numericentity($str, $convmap, "sjis-win"); ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_decode_numericentity</function>. </para> </refsect1> </refentry> <refentry id="function.mb_decode_numericentity"> <refnamediv> <refname>mb_decode_numericentity</refname> <refpurpose> Décode les entités HTML en caractères </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>mb_decode_numericentity</function></funcdef> <paramdef>string <parameter>str</parameter></paramdef> <paramdef>array <parameter>convmap</parameter></paramdef> <paramdef>string <parameter><optional>encoding</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_decode_numericentity</function> la chaîne d'entités HTML <parameter>str</parameter> en chaîne, et retourne cette chaîne. </para> <para> <parameter>array</parameter> est un tableau qui spécifie les codes à convertir. </para> <para> <parameter>encoding</parameter> est un nom d'encodage de caractères. S'il n'est pas spécifié, l'encodage interne est utilisé. </para> <para> <example> <title>Exemple avec le paramètre <parameter>convmap</parameter></title> <programlisting> $convmap = array ( int start_code1, int end_code1, int offset1, int mask1, int start_code2, int end_code2, int offset2, int mask2, ........ int start_codeN, int end_codeN, int offsetN, int maskN ); // Spécifie les valeurs Unicode de début (start_codeN) et fin (end_codeN) // Ajoutez offsetN à la valeur, et faites un ET bit-à-bit avec maskN, puis // il convertit la valeur obtenu en entite numérique ?> </programlisting> </example> </para> <para> Voir aussi <function>mb_encode_numericentity</function>. </para> </refsect1> </refentry> <refentry id="function.mb-send-mail"> <refnamediv> <refname>mb_send_mail</refname> <refpurpose> Envoie un mail encodé ISO-2022-JP (mail japonais) </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>mb_send_mail</function></funcdef> <paramdef>string <parameter>to</parameter></paramdef> <paramdef>string <parameter>subject</parameter></paramdef> <paramdef>string <parameter>message</parameter></paramdef> <paramdef>string <parameter><optional>additional_headers</optional></parameter> </paramdef> <paramdef>string <parameter><optional>additional_parameter</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>mb_send_mail</function> envoie un courrier électronique. Les en-têtes et le corps du mesage sont convertis et encodés en ISO-2022-JP. <function>mb_send_mail</function> est une version adaptée de <function>mail</function>. </para> <para> <parameter>to</parameter> est l'adresse de destination du mail. Les adresses multiples peuvent être spécifiées en les séparant par des virgules. </para> <para> <parameter>subject</parameter> est le sujet du mail. </para> <para> <parameter>message</parameter> est le message du mail. </para> <para> La chaîne <parameter>additional_headers</parameter> est insérée à la fin de l'en-tête mail. Elle sert à ajouter d'autres en-têtes email. N'oubliez pas de les séparer par des nouvelles lignes (\n). </para> <para> <function>mb_send_mail</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> en cas d'erreur. </para> <para> Voir aussi <function>mail</function>. </para> </refsect1> </refentry> </reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: --> <!-- Keep this comment for vi/vim/gvim vi: et:ts=1:sw=1 -->