我正在使用 JetBrains 的 Exposed 库和 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 上工作?