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

D
На сайте с 28.06.2008
Offline
976
224

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

Поля по которому идет замена в кодировке 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
714
#1

Dram,

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

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

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход.
D
На сайте с 28.06.2008
Offline
976
#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
Online
1550
#3
$db->set_charset("utf8");
not valid for CHARACTER SET 'utf8mb4'

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

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

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

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

✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
dma84
На сайте с 21.04.2009
Offline
164
#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

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