Различия в MySQL отличаются в php / mysql / phpmyadmin

я пытаюсь добавить управление акцентом в моем запросе с помощью команды сортировки, но я получаю ошибки, связанные с неверной сортировкой …

это мой запрос sql:

SELECT  p.ID,p.NOM,p1.ID,p1.NOM,p.ISNAV,p.LIEN
FROM  p
LEFT OUTER JOIN  p AS p1 ON p.FK = p1.ID
WHERE  (      p.NOM   LIKE '%dev%' collate utf8mb4_unicode_ci
OR  p.HTML  LIKE '%dev%' collate utf8mb4_unicode_ci
OR  p1.NOM  LIKE '%dev%' collate utf8mb4_unicode_ci
OR  p1.HTML LIKE '%dev%' collate utf8mb4_unicode_ci
)
and  p1.TPL<>'search'
ORDER BY  p.FK t

это моя ошибка в php:

COLLATION 'utf8mb4_unicode_ci' is not valid for CHARACTER SET 'latin1'

это моя ошибка в командной строке mysql:

COLLATION 'utf8mb4_unicode_ci' is not valid for CHARACTER SET 'utf8'

этот запрос работает в phpmyadmin

когда я изменяю utf8mb4_unicode_ci на utf8_unicode_ci в консоли mysql, запрос работает … но не в моем php-коде.

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

Спасибо

0

Решение

Вы могли бы использовать mysqli::set_charset в php.

$mysqli->set_charset("utf8");
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]