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

search for in the

unicode_get_error_mode> <unicode_decode
Last updated: Fri, 20 Jun 2008

view this page in

unicode_encode

(No version information available, might be only in CVS)

unicode_encode — Définit l'encodage d'une chaîne unicode

Description

string unicode_encode ( unicode $input , string $encoding [, int $errmode ] )

Prend une chaîne unicode et la convertie en une chaîne dans un encodage spécifié.

Liste de paramètres

input

La chaîne unicode qui va être encodée.

encoding

Le nouvel encodage de input .

errmode

Mode d'erreur de conversion. Ce paramètre détermine l'action à effectuer lorsque le convertisseur n'a pu convertir un caractère. Pour une liste des modes disponibles, référez-vous à la fonction unicode_set_error_mode(). Si ce paramètre n'est pas défini, le mode d'erreur global sera utilisé.

Valeurs de retour

Une chaîne de caractères en cas de succès, ou FALSE si une erreur survient.

Erreurs / Exceptions

Émet une erreur de type E_WARNING si le convertisseur n'a pu être créé pour l'encodage encoding désiré.

Exemples

Exemple #1 Exemple avec unicode_encode()

Note: Les caractères seront visibles au lieu des entités dans l'affichage.

<?php
header 
('Content-Type: text/plain; charset=ISO-8859-2');

$encoded unicode_encode ('\u0150\u0179''ISO-8859-2');

echo 
'Unicode semantique : 'ini_get ('unicode_semantics'), PHP_EOL;
echo 
'La chaîne elle-même :'$encodedPHP_EOL;
echo 
'La longueur de la chaîne : 'strlen ($encoded);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Unicode semantique : 1
La chaîne elle-même : &#336;&#377;
La longueur de la chaîne : 2

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.

Voir aussi



add a note add a note User Contributed Notes
unicode_encode
berlioz at nicematin dot fr
14-Dec-2007 05:37
a little usefull function

<?php
function unicode2utf8($c)
{
   
$output="";
   
    if(
$c < 0x80)
    {
        return
chr($c);
    }
    else if(
$c < 0x800)
    {
        return
chr( 0xc0 | ($c >> 6) ).chr( 0x80 | ($c & 0x3f) );
    }
    else if(
$c < 0x10000)
    {
        return
chr( 0xe0 | ($c >> 12) ).chr( 0x80 | (($c >> 6) & 0x3f) ).chr( 0x80 | ($c & 0x3f) );
    }
    else if(
$c < 0x200000)
    {
        return
chr(0xf0 | ($c >> 18)).chr(0x80 | (($c >> 12) & 0x3f)).chr(0x80 | (($c >> 6) & 0x3f)).chr(0x80 | ($c & 0x3f));
    }
    return
false;
}
?>
spam at or-k dot de
22-Feb-2007 08:45
A PHP4 Version for converting a utf8 string/text to unicode:

    function utf8_to_unicode( $str ) {
     
        $unicode = array();       
        $values = array();
        $lookingFor = 1;
       
        for ($i = 0; $i < strlen( $str ); $i++ ) {
            $thisValue = ord( $str[ $i ] );
        if ( $thisValue < ord('A') ) {
            // exclude 0-9
            if ($thisValue >= ord('0') && $thisValue <= ord('9')) {
                 // number
                 $unicode[] = chr($thisValue);
            }
            else {
                 $unicode[] = '%'.dechex($thisValue);
            }
        } else {
              if ( $thisValue < 128)
            $unicode[] = $str[ $i ];
              else {
                    if ( count( $values ) == 0 ) $lookingFor = ( $thisValue < 224 ) ? 2 : 3;               
                    $values[] = $thisValue;               
                    if ( count( $values ) == $lookingFor ) {
                        $number = ( $lookingFor == 3 ) ?
                            ( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 ):
                            ( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 );
                $number = dechex($number);
                $unicode[] = (strlen($number)==3)?"%u0".$number:"%u".$number;
                        $values = array();
                        $lookingFor = 1;
              } // if
            } // if
        }
        } // for
        return implode("",$unicode);

    } // utf8_to_unicode

unicode_get_error_mode> <unicode_decode
Last updated: Fri, 20 Jun 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites