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

у меня есть банлист в котором пишутся все баны которые берутся из базы данных а именно из таблицы 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 и банлисте вот так - проверка

дай бадмин ту которую ты качаь

badmin.rar (95,6 КБ)

это та что фикшеная? если да скинь под нее плиб я тебе помогу фиксануть

это с ликнутой сборки 2023 года

plib_v2.rar (60,0 КБ)

бадмин сам по себе работает?

ну да вообще должен, этот немного с ошибками, у меня сейчас на сервере стоит этот же но уже фикшенный

ты разобрался уже с той проблемой? можешь бадмин кинуть свой

c utf8 я еще не разобрался

я уже просто много методов перепробовал что-то с этим сделать, но ниче не помогло, вот сюда решил обратиться

Возможно в настройках phpMyAdmin, забыл установить utf8

а где там конкретно? я не понял где там

image
ты про это?

image

Заработало?

у меня эта настройка стояла все время

Как ты подключаешь на сайте mysql?

// Подключение к базе данных
$mysqli = new mysqli(“”, “”, “”, “”);

// Устанавливаем кодировку соединения. Важно для корректного отображения русских символов.
mysqli_set_charset($mysqli, “utf8mb4”);

if ($mysqli->connect_error) {
die("Ошибка подключения: " . $mysqli->connect_error);
}

// Устанавливаем кодировку соединения с базой данных на UTF-8
$mysqli->set_charset(“utf8mb4”);

А ты используешь utf8mb4? Удали ba_bans, чтобы сервер пересоздал