TelegramBot / Api

Native PHP Wrapper for Telegram BOT API
MIT License
1.09k stars 324 forks source link

Корректное хранение сообщений в бд #249

Closed jenokizm closed 4 years ago

jenokizm commented 4 years ago

Привет, я записываю в mysql бд сообщения от админов бота, которые потом рассылаются пользователям. Дело в том, что в сообщении могут быть иконки (смайлы), я пишу сообщение в поле типа TEXT utf8_general_ci и таким образом сообщения обрезаются в бд до первого смайла. По советам со стаковерфлоу я попробовал заменить кодировку поля на utf8mb4_general_ci это помогло лишь частично. Теперь сообщение не обрезается, даже видны некоторые простые смайлы, но часть смайлов заменяется на ????

Подскажите как быть?

xynobo commented 4 years ago

Когда из базы достаешь сообщения, не забудь кодировку также на utf8mb4 поменять, по умолчанию utf-8

Кодировку указываешь при соединении с mysql

jenokizm commented 4 years ago

@xynobo спасибо за идею, действительно я забыл про кодировку подключения. Но дело в том, что у меня база большая там много других данных, если я ее заменю все остальное поплывет к хренам. пожалуй лучше я буду хранить сообщения в текстовых файлах на диске)

jenokizm commented 4 years ago

блин случайно закрыл, если будут предложения если что пишите)