2017-01-20 2 views
0

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

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

это для Соединенных Штатов? – Strawberry

+0

Нет, его мое требование – Sadikhasan

ответ

0

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

$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

Это настройки по умолчанию для codeigniter. Его уже в моем файле конфигурации – Sadikhasan

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
Смежные вопросы