全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
数据集成

编码格式设置问题

更新时间:2017-07-01 10:17:58

数据集成的同步任务配置编码格式,产生问题的形式主要是下面两种:

问题一

数据集成任务失败,编码问题产生的脏数据,日志提示:

016-11-18 14:50:50.766 [13350975-0-0-writer] ERROR StdoutPluginCollector - 脏数据:
{“exception”:”Incorrect string value: ‘\xF0\x9F\x98\x82\xE8\xA2…’ for column ‘introduction’ at row 1”,”record”:[{“byteSize”:8,”index”:0,”rawData”:9642,”type”:”LONG”},{“byteSize”:33,”index”:1,”rawData”:”优衣库兼职出来的女汉子,扛得了箱子,招待好顾客1被自己感动cry”,”type”:”STRING”},{“byteSize”:8,”index”:4,”rawData”:0,”type”:”LONG”}],”type”:”writer”}2016-11-18 14:50:51.265 [13350975-0-0-writer] WARN CommonRdbmsWriter$Task - 回滚此次写入, 采用每次写入一行方式提交. 因为:java.sql.BatchUpdateException: Incorrect string value: ‘\xF0\x9F\x88\xB6\xEF\xB8…’ for column ‘introduction’ at row 1

问题原因

出现这个脏数据的原因是,用户要对数据库做相应的编码格式设置或在添加数据源时相应的将编码设置成utf8mb4,这样数据集成支持同步表情符。

1、添加jdbc格式的数据源关于utf8mb4的设置,例如:jdbc:mysql://xxx.x.x.x:3306/database?com.mysql.jdbc.faultInjection.serverCharsetIndex=45

?com.mysql.jdbc.faultInjection.serverCharsetIndex=45,这样在数据源设置表情符能同步成功。2、直接将数据源编码格式改成utf8mb4。例如:在rds管控台修改rds的数据库编码格式。

问题二

数据同步成功,但是数据产生了乱码

问题原因

出现这种情况原因有以下三种:

  1. 源端是本来就乱码。
  2. 数据库和客户端编码不一样。
  3. 浏览器编码不一样,导致预览失败或乱码。

出现上面的乱码,解决的方法:原始数据乱码这个只有用户先将原始数据处理好再做同步任务,数据库和客户端的编码格式不一样或浏览器预览失败,这边先将上面的编码格式进行统一和修改,然后在查看数据情况。

如问题还未解决,请联系售后技术支持

 

本文导读目录