@Zimaell

Как удалить ненужные символы?

Я получаю строку через api, далее я хочу её сохранить в бд, мне в ответ
Ответ MySQL: Документация
#1366 - Incorrect string value: '\xF0\x9F\x92\xA1Aufgepasst...' for column 'message' at row 1

строка имеет спецсимвол "Aufgepasst....."
(тут он кстати не отображается....)
если сделать следующее, удалить все кроме
$message=preg_replace ("/[^a-zA-ZА-Яа-я0-9\s]/","",$message);

то запись в бд производится и имеет следующий вид
▒▒▒Aufgepasst

Как можно полностью всё очистить от любого мусора и чтобы никаких остатков не оставалось?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
Попробуйте добавить модификатор "u" к регулярному выражению: /[^a-zA-ZА-Яа-я0-9\s]/u
Но более правильный, на мой взгляд, способ - изменить кодировку поля в mysql с utf8_general_ci (вероятно) на utf8mb4_general_ci, чтобы база правильно хранила символ.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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