mb_detect_encoding detecta ASCII como UTF-8?

Estoy tratando de convertir automáticamente los metadatos IPTC importados de las imágenes a UTF-8 para su almacenamiento en una base de datos basada en PHPmb_ funciones

Actualmente se ve así:

$val = mb_convert_encoding($val, 'UTF-8', mb_detect_encoding($val));

Sin embargo cuandomb_detect_encoding() se le suministra una cadena ASCII (caracteres especiales en los campos Latin1 desde 192-255) que la detecta como UTF-8, por lo tanto, en el siguiente intento de convertir todo a UTF-8 adecuado, se eliminan todos los caracteres especiales.

Intenté escribir mi propio método buscando valores latinos1 y, si no ocurriera ninguno, seguiría dejandomb_detect_encoding decide lo que es. Pero me detuve a mitad de camino cuando me di cuenta de que no puedo estar seguro de que otra codificación no use los mismos valores de bytes para otras cosas.

Entonces, ¿hay una manera de detectar correctamente ASCII para alimentar amb_convert_encoding como la codificacion fuente?