mysql не может проглотить символ
От: destroy  
Дата: 03.12.14 15:15
Оценка:
При попытке в phpmyadmin занести данные в таблицу выдается след ошибка

Warning: #1366 Incorrect string value: '\xF0\x9F\x92\x98' for column 'txt' at row 1

Спотыкается mysql на некоем символе, который пришел из описания к видео инстаграмма (на инстаграмме он выводился как квадратик) и является скорее всего интерпритацией смайлика эмодзи, так как vk к примеру распознал этот символ и вывел вместо него картинку "сердечко".

Привожу символ здесь, хотя вряд ли что то понятное выведется здесь:
💘


Структура таблицы

CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `txt` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf32 AUTO_INCREMENT=2 ;



Результат вставки:

INSERT INTO `test` (`id`, `txt`) VALUES
(1, '????');



Вначале кодировка была utf8_general_ci, затем я сделал utf8mb4 и utf32 — ничего не помогает.

Вопрос: как в php можно отловить подобный символ, а лучше все подобные ему, чтобы mysql не крашился и не обрезал весь текст, идущий после него?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.