【以下的问题经过翻译处理】 我需要将从Redshift读取的表创建dynamicFrame插入到RDS中,并且该框架包括一个带有韩语字符串值的列。目标数据库的默认编码不是utf-8,因此在编写该框架时需要传递编码选项。我尝试了下面的代码,但是在MySQL中,发现韩语字母仍然无法正确显示。
为什么带有编码参数的jdbc url无法按照预想的那样工作?
代码
write_frame = glueContext.write_dynamic_frame.from_jdbc_conf(
frame = source_frame,
connection_options = {
"url": "jdbc:mysql://<mysql host address>:<mysql port>/<db>?useUnicode=true&character_set_server=utf8mb4&character_set_client=utf8mb4&character_set_connection=utf8mb4&character_set_database=utf8mb4&character_set_results=utf8mb4&character_set_system=utf8mb4",
"database": args["mysql_database"],
"dbtable": target_table,
"connectionName": args["mysql_connection_name"],
"aws_iam_role": args["mysql_iam_role"]
}
)
job.commit()
结果: 字符串显示为 ?
而不是正确的韩语字母。