Mb_detect_encoding, кажется, обнаруживает UTF8, но декодированная строка по-прежнему отображает странные символыPhp

Кемеровские программисты php общаются здесь
Anonymous
Mb_detect_encoding, кажется, обнаруживает UTF8, но декодированная строка по-прежнему отображает странные символы

Сообщение Anonymous »

Я изо всех сил пытаюсь определить правильную кодировку для вставки набора данных CSV UTF8 в базу данных.
В моей базе данных все текстовые поля создаются с использованием utf8mb4_unicode_520_ci (именно так Wordpress настроен, поэтому я не могу это изменить). Поэтому я предполагаю, что это своего рода кодировка UTF8.
Для всех полей я использую эту функцию. Без этой функции все вставки имели странные символы. Теперь все поля выглядят хорошо.

Код: Выделить всё

$row_data[$key] = mb_convert_encoding($value, 'ISO-8859-1', 'UTF-8');
... за исключением двух полей. Эти два поля собраны в одном CSV-файле, но из другого источника (другого веб-сайта), поэтому я думаю, что для некоторых полей в CSV кодировка может отличаться.
Вот пример с пример данных, которые не хотят вставлять в БД.

Код: Выделить всё


Подробнее здесь: [url]https://stackoverflow.com/questions/78678820/mb-detect-encoding-seems-to-detect-utf8-but-decoded-string-still-shows-weird-cha[/url]

Вернуться в «Php»