Source for file utf_8.php
Documentation is available at utf_8.php
* utf-8 encoding functions
* takes a string of unicode entities and converts it to a utf-8 encoded string
* each unicode entitiy has the form &#nnn(nn); n={0..9} and can be displayed by utf-8 supporting
* browsers. Ascii will not be modified.
* Original code is taken from www.php.net manual comments
* Original author: ronen at greyzone dot com
* @copyright © 2004-2006 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: utf_8.php,v 1.7.2.5 2006/02/03 22:27:47 jervfors Exp $
* Converts string to utf-8
* @param string $string text with numeric unicode entities
* @return string utf-8 encoded text
// don't run encoding function, if there is no encoded characters
if (! preg_match("'&#[0-9]+;'",$string) ) return $string;
$string=
preg_replace("/&#([0-9]+);/e","unicodetoutf8('\\1')",$string);
// $string=preg_replace("/&#[xX]([0-9A-F]+);/e","unicodetoutf8(hexdec('\\1'))",$string);
* Return utf8 symbol when unicode character number is provided
* This function is used internally by charset_encode_utf_8
* function. It might be unavailable to other SquirrelMail functions.
* Don't use it or make sure, that functions/encode/utf_8.php is
* @param int $var decimal unicode value
* @return string utf8 character
} else if ($var <
2048) {
$binPart1 =
substr ($binVal, 0, 5);
$binPart2 =
substr ($binVal, 5);
} else if ($var <
65536) {
$binPart1 =
substr ($binVal, 0, 4);
$binPart2 =
substr ($binVal, 4, 6);
$binPart3 =
substr ($binVal, 10);
$ret =
$char1 .
$char2 .
$char3;
} else if ($var <
2097152) {
$binPart1 =
substr ($binVal, 0, 3);
$binPart2 =
substr ($binVal, 3, 6);
$binPart3 =
substr ($binVal, 9, 6);
$binPart4 =
substr ($binVal, 15);
$ret =
$char1 .
$char2 .
$char3 .
$char4;
} else if ($var <
67108864) {
$binPart1 =
substr ($binVal, 0, 2);
$binPart2 =
substr ($binVal, 2, 6);
$binPart3 =
substr ($binVal, 8, 6);
$binPart4 =
substr ($binVal, 14,6);
$binPart5 =
substr ($binVal, 20);
$ret =
$char1 .
$char2 .
$char3 .
$char4 .
$char5;
} else if ($var <
2147483648) {
$binPart1 =
substr ($binVal, 0, 1);
$binPart2 =
substr ($binVal, 1, 6);
$binPart3 =
substr ($binVal, 7, 6);
$binPart4 =
substr ($binVal, 13,6);
$binPart5 =
substr ($binVal, 19,6);
$binPart6 =
substr ($binVal, 25);
$ret =
$char1 .
$char2 .
$char3 .
$char4 .
$char5 .
$char6;
// there is no such symbol in utf-8
Documentation generated on Sat, 07 Oct 2006 16:34:01 +0300 by phpDocumentor 1.3.0RC6