从 MS SQL-Server 迁移数据库时 MYSQL Workbench "Incorrect string value"错误

标签 mysql sql-server mysql-workbench database-migration utf8mb4

我正在尝试将 SQL-Server 数据库迁移到 MYSQL。我收到错误

"Incorrect string value: '\xF0\x9F\x98\x8B\xF0\x9F...'"

我正在使用 MySQL Workbench 8.0 CE 创建的批处理文件来查看错误,因为 UI 崩溃并卡住。

源表位于Latin1_General_CI_AS

目标表已创建为 utf8mb4_0900_ai_ci

源数据库:Mssql@DRIVER=ODBC Driver 17 for SQL Server;SERVER=localhost\SQLEXPRESS (Microsoft SQL Server)

目标数据库:Mysql@localhost:3306

还有什么我可以尝试的吗?

最佳答案

该十六进制不是 Latin1,也不是 UTF16;它与 😋 的 UTF-8 编码相匹配。 (这是前 4 个字节;接下来的两个字节可能是另一个表情符号的开始。)

连接参数需要说明数据编码为utf8mb4。仅将表指定为 utf8mb4 是不够的。

源表不是 Latin1。或者您没有注意到该表情符号显示为此 Mojibake:ðŸ~<

关于从 MS SQL-Server 迁移数据库时 MYSQL Workbench "Incorrect string value"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56359151/

相关文章:

mysql - 选择两个时间戳之间的所有记录,然后按某个值出现的次数进行分组

mysql - 什么是 BENCHMARK(count, expr)?

php - 如何使用 Select 查询结果(数组)进行新查询并显示每个值的结果?

SQL Server 2012 : function get position of given string and then get string of given position

python 远程数据库连接mysql

mysql - Errno 121,写入或更新时重复键?

php - 图像在 mysql 中无法正确显示

sql-server - 我可以创建用于测试的环境事务吗?

SQL Server 使用触发器并摆脱 ON DELETE CASCADE

mysql - 无法连接到数据库服务器(mysql 工作台)