/*
* приведение канонического типа Unicode текста в нормальное состояние.
*/
function NFD2Chars( $value ) {
$convmap = array( 0x80, 0xFFFF, 0, 0xFFFF );
return mb_decode_numericentity(
preg_replace( '/(\\\\u([ABCDEF0-9]{2})([ABCDEF0-9]{2}))/ise', '"&#".(0x\\2\\3).";"', $value ),
$convmap, 'UTF-8');
}