Одним из атрибутов, хранящихся в этой таблице, является имя хоста, как возвращается маршрутизатором. В (только) одном случае это имя хоста, очевидно, является значением, выходящим за пределы диапазона набора символов столбца UTF8MB4, выделенного для этого столбца, и MySQL выдает ошибку, когда для этого устройства поступает UPDATE:
Код: Выделить всё
General error: 1366 Incorrect string value: '\xE5\x01\x10p\xB4\xAF...' for column 'hostname' at row 1"
Код: Выделить всё
$lov->writeLogLine( ['Encoding for hostname is %s', mb_detect_encoding($data['hostname']) ] ) ;
Я знаю, что существуют разновидности UTF-8, и я не знаю, как определить, какого именно типа должен быть этот столбец (документация маршрутизатора не определяет) (и мы [пока] не будем вдаваться в подробности, почему маршрутизатор возвращает бессмысленные имена хостов - то есть снаружи моя сфера поддержки). Есть ли волшебное значение или волшебный метод, который я мог бы использовать, чтобы удовлетворить как PHP, так и MySQL - заставить их хорошо работать вместе?
Подробнее здесь: https://stackoverflow.com/questions/787 ... mb4-column