chr

(PHP 4, PHP 5)

chrВозвращает символ по его коду

Описание

string chr ( int $ascii )

Возвращает строку из одного символа, код которого задан аргументом ascii.

Эта функция дополняет функцию ord().

Список параметров

ascii

ASCII-код.

Возвращаемые значения

Возвращает символ по его коду.

Примеры

Пример #1 Пример использования chr()

<?php
$str 
"Эта строка заканчивается на escape: ";
$str .= chr(27); /* добавляет символ escape в конец $str */

/* Но обычно лучше использовать такую конструкцию */

$str sprintf("The string ends in escape: %c"27);
?>

Смотрите также

Коментарии

[Editor's note:

%c is defined as: "Print the character belonging to the ascii code given"

chr() just gives a string, so you need to use %s, even if the string consists of only one character. This is consistent with other languages.
--Jeroen@php.net]


Learn from my mistake:
Do not expect this to work!

<?php
$c_question 
chr(63);
$v_out sprintf("<%cphp\n"$c_question);
//... more stuff being sprintf'd into v_out here ...
$v_out sprintf("%s%c>\n"$v_out$c_question);
$v_fp fopen("foofile""w");
if (
$v_fp)
{
     
fwrite($v_fp$v_outstrlen($v_out));
     
fclose($v_fp);
}
?>

When I did this, foofile contained <NUL NUL NUL NUL NUL>.
I spun my wheels quite awhile looking at fputs, fwrite to verify I was calling those functions correctly.
My mistake was using $c_question = chr(63) instead of
$c_question = 63 (correct).  Then everything worked fine.
2000-05-09 19:59:24
http://php5.kiev.ua/manual/ru/function.chr.html
Here is a function that's help me find what chr(number) outputs what character quicker than typing out 256 echo tags.

<?php
 
function listChr(){
  for (
$i 0$i 256; ++$i) {
  static 
$genNum;
 
$genNum++;
  echo 
"chr($genNum) will output '";
  echo (
chr($genNum));
  echo 
"'< br>\n";
  }
}
listChr();
?>

Another helpful chr is #9, being a tab.  Quite using when making error logs.

 $tab = (chr(9));
 echo "<pre>error{$tab}date{$tab}time</pre>";

 -- HappyEvil
2001-03-26 22:31:01
http://php5.kiev.ua/manual/ru/function.chr.html
\n == &#13;
Usefull if u want to display multi-line-alt-strings
e.g. <img src="/gifs/php_logo.gif" alt="Here u can see the&#13;PHPLogo&#13;3rd line">
2002-04-13 15:51:42
http://php5.kiev.ua/manual/ru/function.chr.html
Want terminal colors in command line php scripts?

This should take care of that.
<?

$_colors 
= array(
       
'LIGHT_RED'      => "[1;31m",
       
'LIGHT_GREEN'     => "[1;32m",
       
'YELLOW'     => "[1;33m",
       
'LIGHT_BLUE'     => "[1;34m",
       
'MAGENTA'     => "[1;35m",
       
'LIGHT_CYAN'     => "[1;36m",
       
'WHITE'     => "[1;37m",
       
'NORMAL'     => "[0m",
       
'BLACK'     => "[0;30m",
       
'RED'         => "[0;31m",
       
'GREEN'     => "[0;32m",
       
'BROWN'     => "[0;33m",
       
'BLUE'         => "[0;34m",
       
'CYAN'         => "[0;36m",
       
'BOLD'         => "[1m",
       
'UNDERSCORE'     => "[4m",
       
'REVERSE'     => "[7m",

);

function 
termcolored($text$color="NORMAL"$back=1){
    global 
$_colors;
   
$out $_colors["$color"];
    if(
$out == ""){ $out "[0m"; }
    if(
$back){
        return 
chr(27)."$out$text".chr(27).chr(27)."[0m".chr(27);
    }else{
        echo 
chr(27)."$out$text".chr(27).chr(27)."[0m".chr(27);
    }
//fi
}// end function

echo termcolored("test\n""BLUE");
?>
2002-12-14 16:53:42
http://php5.kiev.ua/manual/ru/function.chr.html
Автор:
Note that chr(10) is a 'line feed' and chr(13) is a 'carriage return' and they are not the same thing! I found this out while attempting to parse text from forms and text files for inclusion as HTML by replacing all the carriage returns with <BR>'s only to find after many head-scratchings that I should have been looking for line feeds. If anyone can shed some light on what the difference is, please do.

If you're planning on saving text from a form into a database for later display, you'll need to apply the following function so that it gets saved with the proper HTML tags.

<?php
$text 
str_replace chr(10), "<BR>"$text );
?>

When you want to plug it back into that form for editing you need to convert it back.

<?php
$text 
str_replace "<BR>"chr(10), $text)
?>

Hope this saves somebody some trouble. :)
2003-03-06 22:19:11
http://php5.kiev.ua/manual/ru/function.chr.html
Cutting Korean(2Byte)-String

<?php
function cutStr($str,$len){
    if(
strlen($str) > $len){
       
$str substr($str,0,$len 2);
        if(
strlen(substr(strrchr($str," "),1)) % 2)
           
$str substr($str,0,strlen($str) - 1);
       
$str .= "..";
    }
    return 
$str;
}
?>
2003-06-24 23:16:41
http://php5.kiev.ua/manual/ru/function.chr.html
Lowercase alphabet:
<?php for($a=97;$a<(97+26);$a++){ echo chr($a); } ?>
2003-07-25 13:20:58
http://php5.kiev.ua/manual/ru/function.chr.html
Note that if the number is higher than 256, it will return the number mod 256.
For example :
chr(321)=A because A=65(256)
2004-04-11 19:20:27
http://php5.kiev.ua/manual/ru/function.chr.html
When having to deal with parsing an IIS4 or IIS5 metabase dump I wrote a simple function for converting those MS hexidecimal values into their ascii counter parts. Hopefully someone will find use for it.

<?php
function hex_decode($string)  {
        for (
$i=0$i strlen($string); $i)  {
       
$decoded .= chr(hexdec(substr($string,$i,2)));
       
$i = (float)($i)+2;
        }
return 
$decoded;
}
?>
2004-07-15 02:05:07
http://php5.kiev.ua/manual/ru/function.chr.html
The following function helped me to generate ascii-only usernames from firstname/lastname containing iso-8859-2 characters. The convertion array was based on contents of 'man iso-8859-2'.

Example: iso2ascii("b&#322;a&#380;ej.&#378;d&#378;b&#322;o") returns "blazej.zdzblo"

<?php
function iso2ascii($str) {
 
$arr=array(
 
chr(161)=>'A'chr(163)=>'L'chr(165)=>'L'chr(166)=>'S'chr(169)=>'S',
 
chr(170)=>'S'chr(171)=>'T'chr(172)=>'Z'chr(174)=>'Z'chr(175)=>'Z',
 
chr(177)=>'a'chr(179)=>'l'chr(181)=>'l'chr(182)=>'s'chr(185)=>'s',
 
chr(186)=>'s'chr(187)=>'t'chr(188)=>'z'chr(190)=>'z'chr(191)=>'z',
 
chr(192)=>'R'chr(193)=>'A'chr(194)=>'A'chr(195)=>'A'chr(196)=>'A',
 
chr(197)=>'L'chr(198)=>'C'chr(199)=>'C'chr(200)=>'C'chr(201)=>'E',
 
chr(202)=>'E'chr(203)=>'E'chr(204)=>'E'chr(205)=>'I'chr(206)=>'I',
 
chr(207)=>'D'chr(208)=>'D'chr(209)=>'N'chr(210)=>'N'chr(211)=>'O',
 
chr(212)=>'O'chr(213)=>'O'chr(214)=>'O'chr(216)=>'R'chr(217)=>'U',
 
chr(218)=>'U'chr(219)=>'U'chr(220)=>'U'chr(221)=>'Y'chr(222)=>'T',
 
chr(223)=>'s'chr(224)=>'r'chr(225)=>'a'chr(226)=>'a'chr(227)=>'a',
 
chr(228)=>'a'chr(229)=>'l'chr(230)=>'c'chr(231)=>'c'chr(232)=>'c',
 
chr(233)=>'e'chr(234)=>'e'chr(235)=>'e'chr(236)=>'e'chr(237)=>'i',
 
chr(238)=>'i'chr(239)=>'d'chr(240)=>'d'chr(241)=>'n'chr(242)=>'n',
 
chr(243)=>'o'chr(244)=>'o'chr(245)=>'o'chr(246)=>'o'chr(248)=>'r',
 
chr(249)=>'u'chr(250)=>'u'chr(251)=>'u'chr(252)=>'u'chr(253)=>'y',
 
chr(254)=>'t'
 
);
 return 
strtr($str,$arr);
}
?>
2005-02-17 06:26:32
http://php5.kiev.ua/manual/ru/function.chr.html
I spent hours looking for a function which would take a numeric HTML entity value and output the appropriate UTF-8 bytes.  I found this at another site and only had to modify it slightly; so I don't take credit for this.

<?php function unichr($dec) { 
  if (
$dec 128) { 
   
$utf chr($dec); 
  } else if (
$dec 2048) { 
   
$utf chr(192 + (($dec - ($dec 64)) / 64)); 
   
$utf .= chr(128 + ($dec 64)); 
  } else { 
   
$utf chr(224 + (($dec - ($dec 4096)) / 4096)); 
   
$utf .= chr(128 + ((($dec 4096) - ($dec 64)) / 64)); 
   
$utf .= chr(128 + ($dec 64)); 
  } 
  return 
$utf;
?>

So for example:

<?php

  $str 
"Chinese: &#20013;&#25991;";
 
$str preg_replace("/&#(\d{2,5});/e""unichr($1);"$str);

?>
2005-08-19 10:55:32
http://php5.kiev.ua/manual/ru/function.chr.html
Автор:
I didn't see it here, so here's simple random string generation using char.

<?php
for($i=0$i<7$i++){
   
$random_string .= chr(rand(0,25)+65);
}
echo 
$random_string;
?>
2006-02-16 21:34:05
http://php5.kiev.ua/manual/ru/function.chr.html
Unicode version of chr() using mbstring
<?php
 
function unichr($u) {
    return 
mb_convert_encoding(pack("N",$u), mb_internal_encoding(), 'UCS-4BE');
  }
?>
It returns a string in internal encoding (possibly more than one byte).
2006-08-22 11:20:04
http://php5.kiev.ua/manual/ru/function.chr.html
chr() with unicode support

<?php

function uchr ($codes) {
    if (
is_scalar($codes)) $codesfunc_get_args();
   
$str'';
    foreach (
$codes as $code$str.= html_entity_decode('&#'.$code.';',ENT_NOQUOTES,'UTF-8');
    return 
$str;
}

echo 
uchr(23383); echo '<br/>';
echo 
uchr(23383,215,23383); echo '<br/>';
echo 
uchr(array(23383,215,23383,215,23383)); echo '<br/>';

?>
2007-04-27 07:33:47
http://php5.kiev.ua/manual/ru/function.chr.html
Автор:
In addition to replacing Microsoft Windows smart quotes, as sgaston demonstrated on 2006-02-13, I replace all other Microsoft Windows characters using suggestions[1] published by character code specialist[2] Jukka Korpela.

<?php
$str 
str_replace(chr(130), ','$str);    // baseline single quote
$str str_replace(chr(131), 'NLG'$str);  // florin
$str str_replace(chr(132), '"'$str);    // baseline double quote
$str str_replace(chr(133), '...'$str);  // ellipsis
$str str_replace(chr(134), '**'$str);   // dagger (a second footnote)
$str str_replace(chr(135), '***'$str);  // double dagger (a third footnote)
$str str_replace(chr(136), '^'$str);    // circumflex accent
$str str_replace(chr(137), 'o/oo'$str); // permile
$str str_replace(chr(138), 'Sh'$str);   // S Hacek
$str str_replace(chr(139), '<'$str);    // left single guillemet
$str str_replace(chr(140), 'OE'$str);   // OE ligature
$str str_replace(chr(145), "'"$str);    // left single quote
$str str_replace(chr(146), "'"$str);    // right single quote
$str str_replace(chr(147), '"'$str);    // left double quote
$str str_replace(chr(148), '"'$str);    // right double quote
$str str_replace(chr(149), '-'$str);    // bullet
$str str_replace(chr(150), '-'$str);    // endash
$str str_replace(chr(151), '--'$str);   // emdash
$str str_replace(chr(152), '~'$str);    // tilde accent
$str str_replace(chr(153), '(TM)'$str); // trademark ligature
$str str_replace(chr(154), 'sh'$str);   // s Hacek
$str str_replace(chr(155), '>'$str);    // right single guillemet
$str str_replace(chr(156), 'oe'$str);   // oe ligature
$str str_replace(chr(159), 'Y'$str);    // Y Dieresis
?>

[1] On the use of some MS Windows characters in HTML
http://www.cs.tut.fi/~jkorpela/www/windows-chars.html

[2] Unicode Explained by Jukka Korpela 
http://www.amazon.com/dp/059610121X/
2008-08-12 17:06:47
http://php5.kiev.ua/manual/ru/function.chr.html
Secure password generator with a variable maximum amount of symbols.

<?php

function passwdGen($minLength 8$maxLength 12$maxSymbols 2)
{
   
$symbolCount 0;

   
srand((double)microtime() * 1000003);

    for (
$i 0$i rand($minLength$maxLength); $i++)
    {
        do
        {
           
$char rand(33126);

           
$symbolCount += $isSymbol = (!in_array($charrange(4857)) && !in_array($charrange(6590)) && !in_array($charrange(97122)));

            if (
$symbolCount <= $maxSymbols || !$isSymbol)
            {
                break;
            }
        }
        while (
true);

       
$passwd sprintf('%s%c', isset($passwd) ? $passwd NULL$char);
    }

    return 
$passwd;
}

?>
2008-10-21 00:51:57
http://php5.kiev.ua/manual/ru/function.chr.html
This function creates a ascii table, and replaces all the ascii characters in the mail.
---
Deze functie maakt een ascii tabel, en zet alles juist om.

<?php
 
function makeASCII($a){
 
$find[] = "=\r\n";
 
$replace[] = "";
 
  for(
$i=0$i 256$i++){
   
$find[] = "=".dechex($i)."";
   
$replace[] = chr($i);
  }
 
$a str_replace($find,$replace,$a);
  return 
$a;
 }
?>
2008-12-31 07:46:02
http://php5.kiev.ua/manual/ru/function.chr.html
Автор:
Another quick and short function to get unicode char by its code.

<?php
/**
 * Return unicode char by its code
 *
 * @param int $u
 * @return char
 */
function unichr($u) {
    return 
mb_convert_encoding('&#' intval($u) . ';''UTF-8''HTML-ENTITIES');
}
?>
2009-01-31 09:39:13
http://php5.kiev.ua/manual/ru/function.chr.html
The function chr() also accepts negative numbers as an ascii code, so chr(-number) is equal to chr((number%256)+256).
And for ascii code higher than 255 is chr(number%256)

We can test with a little script
<?php
   
for($i=-300$i<300$i++){
        echo 
"Ascii $i\t" ord(chr($i)) . "\n";
    }
?>
2009-06-30 05:38:26
http://php5.kiev.ua/manual/ru/function.chr.html
Автор:
Replaces special characters with non-special equivalents

<?php
function normalize_special_characters$str )
{
   
# Quotes cleanup
   
$str ereg_replacechr(ord("`")), "'"$str );        # `
   
$str ereg_replacechr(ord("´")), "'"$str );        # ´
   
$str ereg_replacechr(ord("„")), ","$str );        # „
   
$str ereg_replacechr(ord("`")), "'"$str );        # `
   
$str ereg_replacechr(ord("´")), "'"$str );        # ´
   
$str ereg_replacechr(ord("“")), "\""$str );        # “
   
$str ereg_replacechr(ord("”")), "\""$str );        # ”
   
$str ereg_replacechr(ord("´")), "'"$str );        # ´

   
$unwanted_array = array(    'Š'=>'S''š'=>'s''Ž'=>'Z''ž'=>'z''À'=>'A''Á'=>'A''Â'=>'A''Ã'=>'A''Ä'=>'A''Å'=>'A''Æ'=>'A''Ç'=>'C''È'=>'E''É'=>'E',
                               
'Ê'=>'E''Ë'=>'E''Ì'=>'I''Í'=>'I''Î'=>'I''Ï'=>'I''Ñ'=>'N''Ò'=>'O''Ó'=>'O''Ô'=>'O''Õ'=>'O''Ö'=>'O''Ø'=>'O''Ù'=>'U',
                               
'Ú'=>'U''Û'=>'U''Ü'=>'U''Ý'=>'Y''Þ'=>'B''ß'=>'Ss''à'=>'a''á'=>'a''â'=>'a''ã'=>'a''ä'=>'a''å'=>'a''æ'=>'a''ç'=>'c',
                               
'è'=>'e''é'=>'e''ê'=>'e''ë'=>'e''ì'=>'i''í'=>'i''î'=>'i''ï'=>'i''ð'=>'o''ñ'=>'n''ò'=>'o''ó'=>'o''ô'=>'o''õ'=>'o',
                               
'ö'=>'o''ø'=>'o''ù'=>'u''ú'=>'u''û'=>'u''ý'=>'y''ý'=>'y''þ'=>'b''ÿ'=>'y' );
   
$str strtr$str$unwanted_array );

   
# Bullets, dashes, and trademarks
   
$str ereg_replacechr(149), "&#8226;"$str );    # bullet •
   
$str ereg_replacechr(150), "&ndash;"$str );    # en dash
   
$str ereg_replacechr(151), "&mdash;"$str );    # em dash
   
$str ereg_replacechr(153), "&#8482;"$str );    # trademark
   
$str ereg_replacechr(169), "&copy;"$str );    # copyright mark
   
$str ereg_replacechr(174), "&reg;"$str );        # registration mark

   
return $str;
}
?>
2009-09-01 10:36:11
http://php5.kiev.ua/manual/ru/function.chr.html
Here is a sample of encoding and decoding using "chr" and "ord".
<?php
   
function Encode($txtData,$Level){
        for (
$j 0;$j<$Level;$j++){
           
$tmpStr '';
            for (
$i 0;$i<strlen($txtData);$i++)
               
$tmpStr .= ord(substr(strtoupper($txtData), $i1));
           
$txtData $tmpStr;
        }
        return (
strlen($Level)).$Level.$txtData;
    }

    function 
Decode($txtData){
       
$intLevel substr($txtData1substr($txtData01));
       
$startStr substr($txtDatasubstr($txtData01)+1strlen($txtData));
        for (
$j 0;$j<$intLevel;$j++){
            for (
$i 0;$i<strlen($startStr);$i+=2)
               
$tmpStr .= chr(intval(substr($startStr$i2)));
           
$startStr $tmpStr;
       
           
$tmpStr "";
        }
        return 
$startStr;
    }

echo 
Encode('123',4).'<br>';
echo 
Decode(Encode('123',5));
?>
2011-02-04 10:17:35
http://php5.kiev.ua/manual/ru/function.chr.html
to remove the ASCII control characters (except "line feed" and "tab") :

$tab_chr = array() ;
for($control = 0; $control < 32; $control++) {
    if ($control != 9 && $control != 10) {
        $tab_chr[]= chr($control) ;
    }
}
$tab_chr[]= chr(127) ;   
$string = str_replace($tab_chr, '', $string);
2012-03-01 11:47:53
http://php5.kiev.ua/manual/ru/function.chr.html
//simple example for chr() function
<?php
$i
=0;
for(
$i;$i<=255;$i++)
{
    echo 
chr($i)."<br>";
}
?>
2013-02-08 06:11:29
http://php5.kiev.ua/manual/ru/function.chr.html
Simple password generation function using sprintf and the %c type specifier; which is the same as chr().

function genPass($len = 8) {
    for ($i=0;$i<=$len;$i++) {
        $passwd = sprintf('%s%c', isset($passwd) ? $passwd : NULL, rand(48, 122));
    }
    return $passwd;
}
2013-03-07 09:45:05
http://php5.kiev.ua/manual/ru/function.chr.html
argument is automatically converted to integer, so chr('65') and chr(65) would both output the letter A
2014-04-01 08:58:14
http://php5.kiev.ua/manual/ru/function.chr.html
Автор:
function ascii2str($str) { 
    $arr=array(
        "&#32;"=>' ', "&#33;"=>'!', "&#34;"=>'"', "&#35;"=>'#', "&#36;"=>'$', 
        "&#37;"=>'%', "&#38;"=>'&', "&#39;"=>"'", "&#40;"=>'(', "&#41;"=>')', 
        "&#42;"=>'*', "&#43;"=>'+', "&#44;"=>',', "&#45;"=>'-', "&#46;"=>'.', 
        "&#47;"=>'/', "&#48;"=>'0', "&#49;"=>'1', "&#50;"=>'2', "&#51;"=>'3', 
        "&#52;"=>'4', "&#53;"=>'5', "&#54;"=>'6', "&#55;"=>'7', "&#56;"=>'8', 
        "&#57;"=>'9', "&#58;"=>':', "&#59;"=>';', "&#60;"=>'<', "&#61;"=>'=', 
        "&#62;"=>'>', "&#63;"=>'?', "&#64;"=>'@', "&#65;"=>'A', "&#66;"=>'B', 
        "&#67;"=>'C', "&#68;"=>'D', "&#69;"=>'E', "&#70;"=>'F', "&#71;"=>'G', 
        "&#72;"=>'H', "&#73;"=>'I', "&#74;"=>'J', "&#75;"=>'K', "&#76;"=>'L', 
        "&#77;"=>'M', "&#78;"=>'N', "&#79;"=>'O', "&#80;"=>'P', "&#81;"=>'Q', 
        "&#82;"=>'R', "&#83;"=>'S', "&#84;"=>'T', "&#85;"=>'U', "&#86;"=>'V', 
        "&#87;"=>'W', "&#88;"=>'X', "&#89;"=>'Y', "&#90;"=>'Z', "&#91;"=>'[', 
        "&#92;"=>'\\', "&#93;"=>']', "&#94;"=>'^', "&#95;"=>'_', "&#96;"=>'`', 
        "&#97;"=>'a', "&#98;"=>'b', "&#99;"=>'c', "&#100;"=>'d', "&#101;"=>'e', 
        "&#102;"=>'f', "&#103;"=>'g', "&#104;"=>'h', "&#105;"=>'i', "&#106;"=>'j', 
        "&#107;"=>'k', "&#108;"=>'l', "&#109;"=>'m', "&#110;"=>'n', "&#111;"=>'o', 
        "&#112;"=>'p', "&#113;"=>'q', "&#114;"=>'r', "&#115;"=>'s', "&#116;"=>'t', 
        "&#117;"=>'u', "&#118;"=>'v', "&#119;"=>'w', "&#120;"=>'x', "&#121;"=>'y', 
        "&#122;"=>'z', "&#123;"=>'{', "&#124;"=>'|', "&#125;"=>'}', "&#126;"=>'~'
    ); 
    return strtr($str,$arr); 
}
2014-09-02 02:01:20
http://php5.kiev.ua/manual/ru/function.chr.html
The help mentions a link to an ascii table. On some *nix systems you can simply do `man ascii`.
2015-05-02 00:24:43
http://php5.kiev.ua/manual/ru/function.chr.html
It seems that php uses the table from here: http://ascii-code.com/ 
(and not from here: http://www.asciitable.com/ as suggested in the documentation) for codes from 128 to 255.

<?php
for ($i 32$i <= 255$i++) {
    echo 
chr($i);
}
?>
2015-06-13 09:09:48
http://php5.kiev.ua/manual/ru/function.chr.html
// rivencodec 1.0
// encode riverse ascii 1 simple function can encode/decode 
// can use it for secure source with speed encode text

<?php

   
function rivencodec($ch,$a=0) {
        while((@
$b $ch[$a++])) { $ch[$a-1] = chr(255-ord($b)); }
        return 
$ch;
    }
       
   
$zz rivencodec("abcdefghijklmn");
echo 
'encode: ',$zz,'<br/>',PHP_EOL;

$yy rivencodec($zz);
echo 
'decode: ',$yy,'<br/>',PHP_EOL;

?>
2015-09-10 23:34:41
http://php5.kiev.ua/manual/ru/function.chr.html
Автор:
Another quick function to get unicode char by its code.

<?php

function unichr($dec)
{
  if (
$dec 0x80)
  {
   
$utf chr($dec);
  }
  else if (
$dec 0x0800)
  {
   
$utf chr(0xC0 + ($dec >> 6));
   
$utf .= chr(0x80 + ($dec 0x3f));
  }
  else if (
$dec 0x010000)
  {
   
$utf chr(0xE0 + ($dec >> 12));
   
$utf .= chr(0x80 + (($dec >> 6) & 0x3f));
   
$utf .= chr(0x80 + ($dec 0x3f));
  }
  else if (
$dec 0x200000)
  {
   
$utf chr(0xF0 + ($dec >> 18));
   
$utf .= chr(0x80 + (($dec >> 12) & 0x3f));
   
$utf .= chr(0x80 + (($dec >> 6) & 0x3f));
   
$utf .= chr(0x80 + ($dec 0x3f));
  }
  else
  {
    die(
"UTF-8 character size is more than 4 bytes");
  }

  return 
$utf;
}

echo 
unichr(0x263A);

?>
2016-02-09 03:01:32
http://php5.kiev.ua/manual/ru/function.chr.html

    Поддержать сайт на родительском проекте КГБ