General error: 1270 Illegal mix of collations (utf8_general_ci,IMPLICIT)

D
На сайте с 28.06.2008
Offline
1104
233

Надо через скрипт пхп сделать замену в базе.

Поля по которому идет замена в кодировке utf8_general_ci

В итоге получаю ошибку

General error: 1270 Illegal mix of collations (utf8_general_ci,IMPLICIT)

Через

echo mb_detect_encoding($value);

проверил строку, данные из которой беру для замены - она в UTF-8

Так что не так?

P.S. запрос составил правильно, проверил работу через пхпмайдмин

edogs software
На сайте с 15.12.2005
Offline
775
#1

Dram,

mb_detect_encoding - шняга шняжная.

После соединения с базой устанавливаете кодировку запросом? set names utf-8 например?

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
D
На сайте с 28.06.2008
Offline
1104
#2

У меня Джумла, как правильно будет?

Так не прокатывает

$db = JFactory::getDBO();
$query = $db->getQuery(true);
mysqli_query($query, "SET NAMES utf8");



---------- Добавлено 27.03.2020 в 13:18 ----------

Сделал так, но тогда ошибка как и в начале

$db = JFactory::getDBO();
$query = $db->getQuery(true);
$db->set_charset("utf8");



---------- Добавлено 27.03.2020 в 13:25 ----------

Добавляю в конец запроса

COLLATE utf8_general_ci ;");

получаю

Syntax error or access violation: 1253 COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4'

Меняю на

COLLATE utf8mb4_unicode_ci;");

получаю опять самую первую ошибку

LEOnidUKG
На сайте с 25.11.2006
Offline
1745
#3
$db->set_charset("utf8");
not valid for CHARACTER SET 'utf8mb4'

ничего не смущает?

---------- Добавлено 27.03.2020 в 14:06 ----------

Вообще если юзать джумлу, там как бы и так всё нормально подключается.

Поэтому показывай код свой прикольный, который ты написал и что-то там пытаешься сделать.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
dma84
На сайте с 21.04.2009
Offline
168
#4

Сделайте при коннекте к базе:

SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci

Вам же пишет ошибку, что:

Syntax error or access violation: 1253 COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4'

Т.е. таблица в кодировке utf8mb4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий