当我从我的Java应用程序通过Flyway执行查询时,我的数据库中的数据以不正确的形式保存。一个例子是以下查询:
INSERT INTO `table_lang` (`id`, `name`) VALUES ('14', 'русский');
执行id=14后,table_lang中的名称为:
因此我认为问题是由输入文件引起的,并尝试在查询中插入使用不同字符集转换后的我的名称:p??????
- русский
- \u0440\u0443\u0441\u0441\u043a\u0438\u0439 作为UTF-16
- \xd1\x80\xd1\x83\xd1\x81\xd1\x81\xd0\xba\xd0\xb8\xd0\xb9 作为UTF-8
CHARACTER SET = utf16,COLLATE = utf16_general_ci;
CHARACTER SET = utf8,COLLATE = utf8_general_ci;
CHARACTER SET = utf16,COLLATE = utf16_general_ci;
CHARACTER SET = utf8mb4,COLLATE = utf8mb4_general_ci;