mb_detect_encoding определяет ASCII как UTF-8?

m пытается автоматически конвертировать импортированные метаданные IPTC из изображений в UTF-8 для хранения в базе данных на основе PHPmb_ функции.

В настоящее время это выглядит так:

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

Однако когдаmb_detect_encoding() предоставляется строка ASCII (специальные символы в полях Latin1 из 192-255), она определяет ее как UTF-8, поэтому при следующей попытке преобразовать все в надлежащий UTF-8 все специальные символы удаляются.

Я пытался написать свой собственный метод, ища значения Latin1, и если ничего не произошло, я бы позволилmb_detect_encoding решить, что это такое. Но я остановился на полпути, когда понял, что могуне быть уверенным, что другие кодировки неиспользовать те же байтовые значения для других вещей.

Итак, есть ли способ правильно определить ASCII для подачи наmb_convert_encoding как исходная кодировка?

Ответы на вопрос(3)

Ваш ответ на вопрос