Символ торговой марки не работает в MySQL Select Query

Следующий запрос в MySQL, а также Codeigniter дает мне ошибку.

SELECT * FROM table where name='hellome� test'

Ошибка:

#1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT)
and (utf8mb4_general_ci,COERCIBLE) for operation '='

Эта ошибка также приходит в Codeigniter.

Вопрос

Как разрешить этот тип символов в запросе MySQL.

0

Решение

Вы должны установить кодировку символов базы данных внутри config> database.php, как показано ниже. «utf8» — это ваша кодировка символов в БД.

    $db ['default'] = array (
'dsn' => '',
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => '',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array (),
'save_queries' => TRUE
);
0

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

использовать активные записи.

$this->db->select('*');
$this->db->from('blogs');
$this->db->where('name','hellome� test');
0

Это наиболее вероятно, поскольку ваша таблица и схема базы данных находятся на латинице. Попробуйте запустить эти команды:

  • ALTER DATABASE db CHARACTER SET utf8 COLLATE utf8_general_ci
  • ALTER TABLE table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector