Я использую библиотеку Exposed от JetBrains с подключением к базе данных MySQL. В моей базе данных мне нужно использовать поле кодировки UTF-8, поэтому я использую сопоставление utf8_general_ci
. Я протестировал его в своей локальной базе данных, и он прекрасно работает, но когда я запускаю тот же код в базе данных Heroku, вместо символов UTF-8 у меня появляются вопросительные знаки.
Вот мой объект схемы:
object UserMessage : Table() {
val id = varchar("id", 20).primaryKey()
val channelId = varchar("channel_id", 20)
val content = varchar("content", 2000, collate = "utf8_general_ci")
val creatorId = varchar("creator_id", 20).nullable()
val creationDate = varchar("creation_date", 26)
}
Сценарий создания для обеих баз данных одинаков и выглядит следующим образом:
CREATE TABLE `usermessage` (
`id` varchar(20) NOT NULL,
`content` varchar(2000) NOT NULL,
`channel_id` varchar(20) NOT NULL,
`creation_date` varchar(26) NOT NULL,
`creator_id` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Что я должен сделать, чтобы кодирование работало на Heroku?