Вопрос [PHP] не могу разобраться с utf8

  • 4
  • 0
Контакты для связи отсутствуют.
у меня есть банлист в котором пишутся все баны которые берутся из базы данных а именно из таблицы ba_bans

вот так она выглядит

CREATE TABLE IF NOT EXISTS ba_bans (
steamid bigint(20) NOT NULL,
ip varchar(39) NOT NULL,
name text COLLATE utf8_unicode_ci NOT NULL,
reason text COLLATE utf8_unicode_ci NOT NULL,
a_steamid bigint(20) NOT NULL,
a_name text COLLATE utf8_unicode_ci NOT NULL,
ban_time int(11) NOT NULL,
ban_len int(11) NOT NULL,
unban_time int(11) NOT NULL,
unban_reason text COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

и в php коде я поставил mysqli_set_charset($mysqli, “utf8mb4”);

но русские символы отображаются в phpmyadmin и банлисте вот так - проверка
 
  • 21
  • 0
Контакты для связи отсутствуют.
Скорее всего это из-за того что используется не utff8mb4, так как он отвечает за использование сложных символов и смайликов
Показывает кодировку:
SHOW VARIABLES LIKE 'character_set_database';
 
  • 534
  • 8
  • 100
Контакты для связи отсутствуют.
Скорее всего это из-за того что используется не utff8mb4, так как он отвечает за использование сложных символов и смайликов
Показывает кодировку:
SHOW VARIABLES LIKE 'character_set_database';
руби даун
 
  • 16
  • 1
Контакты для связи отсутствуют.
у меня есть банлист в котором пишутся все баны которые берутся из базы данных а именно из таблицы ba_bans

вот так она выглядит

CREATE TABLE IF NOT EXISTS ba_bans (
steamid bigint(20) NOT NULL,
ip varchar(39) NOT NULL,
name text COLLATE utf8_unicode_ci NOT NULL,
reason text COLLATE utf8_unicode_ci NOT NULL,
a_steamid bigint(20) NOT NULL,
a_name text COLLATE utf8_unicode_ci NOT NULL,
ban_time int(11) NOT NULL,
ban_len int(11) NOT NULL,
unban_time int(11) NOT NULL,
unban_reason text COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

и в php коде я поставил mysqli_set_charset($mysqli, “utf8mb4”);

но русские символы отображаются в phpmyadmin и банлисте вот так - проверка
Таблица использует одну кодировку а соединение и phpmyadmin другую. Проверь чтобы все было настроено на utf8mb4 в базе соединении и в настройках phpmyadmin .Если данные уже записались в неправильной кодировке то тебе их нужно снести так будет тупо продолжать
 
Сверху Снизу