Вопрос по sql, mysql – Неверное смешение параметров сортировки MySQL Error

104

Я получаю эту странную ошибку при обработке большого количества данных ...

Error Number: 1267

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

SELECT COUNT(*) as num from keywords WHERE campaignId='12' AND LCASE(keyword)='hello again 昔 ã‹ã‚‰ ã‚ã‚‹ å ´æ‰€'

Что я могу сделать, чтобы решить эту проблему? Могу ли я каким-либо образом экранировать строку, чтобы эта ошибка не возникла, или мне нужно каким-то образом изменить кодировку таблицы, и если да, то на что мне ее изменить?

Error: User Rate Limit Exceeded hamza irizaj

Ваш Ответ

8   ответов
7
CONVERT(column1 USING utf8)

0

/etc/my.cnf.d/server.cnf[mysqld]

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

0

HEX(column).

public static function strToHex($string)
{
    $hex = '';
    for ($i=0; $i<strlen($string); $i++){
        $ord = ord($string[$i]);
        $hexCode = dechex($ord);
        $hex .= substr('0'.$hexCode, -2);
    }
    return strToUpper($hex);
}

utf8_decode()

0

ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8

0

CHARSET=latin1utf8SHOW CREATE TABLE my_table;

 ALTER TABLE `my_table` CHANGE `my_column` `my_column` VARCHAR(10) CHARSET utf8 
 COLLATE utf8_general_ci NULL;
12

UTF-8:

ALTER TABLE keywords CHARACTER SET UTF8; -- run once

SET NAMES 'UTF8';
SET CHARACTER SET 'UTF8';
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Click Upvote
Error: User Rate Limit ExceededmyDbError: User Rate Limit Exceeded Click Upvote
Error: User Rate Limit Exceeded
Нужны ли оба из них, или я могу просто сделать один из них? Click Upvote
248
SET collation_connection = 'utf8_general_ci';

ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
У меня не было разрешений на выполнение первого оператора, но он работал только при выполнении таблицы
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
2

 ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Похожие вопросы