не mb_check, а mb_detectвопрос немного абстрактный - думаю про средство валидации вообще, и хочется скорости, так что iconv utf8->utf8 - скорее всего лучший вариант, если он подключен
судя по комментам, mb_check_encoding не проверяет валидность, а что именно он проверяет - не понимаю
по названию не сложно догадаться.define валидность.судя по комментам, mb_check_encoding не проверяет валидность, а что именно он проверяет - не понимаю
>>> $t=microtime(1);for ($i=0;$i<1000000;++$i)iconv("utf-8", "utf-8", "lsfkjhzlkfjhslfkjahlfkjashflkasjhflaskdfjhsalkdjfhsadlkfjh");microtime(1)-$t;
=> 1.7362649440765
>>> $t=microtime(1);for ($i=0;$i<1000000;++$i)mb_detect_encoding("lsfkjhzlkfjhslfkjahlfkjashflkasjhflaskdfjhsalkdjfhsadlkfjh", "utf-8", 1);microtime(1)-$t;
=> 1.3777210712433
Которая ничего не детектирует и вообще бессмысленна.не mb_check, а mb_detectпо названию не сложно догадаться.
@флоппик, например, koi-8 символы из второй части ascii, которые приведут к sql error при вставке в postgres
Режим эмуляцииPrepared statements.