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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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