在 Ubuntu 14.04 "Incorrect string value" 上读取 UTF-8 文件时出现 Flyway 错误

Flyway error reading UTF-8 file on Ubuntu 14.04 "Incorrect string value"

我正在 运行ning ubuntu 14.04,flyway 似乎无法读取我的 UTF-8 编码 SQL 脚本。

我可以使用终端命令运行 sql 脚本

mysql -u root -p my_db < v1_1__Test_migration_script.sql

但是当 flyway 运行 时,我在 UTF-8 编码的文件上收到错误 Incorrect string value:。 我的系统将 LANG 设置为 en_US.UTF-8

请注意,在我的 Mac OSX 机器上进行设置时,flyway 运行s 一切正常。

问题是数据库使用了不同的字符集和排序规则。

对我有用的修复方法是明确指定它 CREATE DATABASE my_db DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;