|
unicode_encode
Convert a unicode string in any encoding
()
Example 2562. A unicode_encode() exampleNote: The characters will be seen instead of entities in the output. <?php The above example will output something similar to: Unicode semantics: 1 Code Examples / Notes » unicode_encodehugo dworak post
As for an example of the usage of the function unicode_encode: <?php header ('Content-Type: text/plain; charset=ISO-8859-2'); $encoded = unicode_encode ('\u0150\u0179', 'ISO-8859-2'); echo 'Unicode semantics: ', ini_get ('unicode_semantics'), PHP_EOL, 'The string itself: '; printf ($encoded . PHP_EOL, '%s'); echo 'The length of the string: ', strlen ($encoded); ?> The above example will output (please note that there will be characters instead of entities in the output): Unicode semantics: 1 The string itself: ŐŹ The length of the string: 2 spam
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 |