php : Canonical Normalization NFD to NFC

About Canonical Normalization NFD. NFC

NFD

NFD has the characters fully expanded out. This is the faster normalization form to calculate, but the results in more code points (i.e. uses more space).

If you just want to compare two strings that are not already normalized, this is the preferred normalization form unless you know you need compatibility normalization.

NFC

NFC recombines code points when possible after running the NFD algorithm. This takes a little longer, but results in shorter strings.

Detais : http://stackoverflow.com/questions/7931204/what-is-normalized-utf-8-all-about

UAX15-NormFig3

PHP Normalizer class

PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0

# yum install php-intl

owl 2016-01-28 11.02.43

if (!normalizer_is_normalized($filename)) {
$filename = normalizer_normalize($filename);
}