首页 » PHP教程 » 脸色字符转义php技巧_运用dataX交换mysql数据有emoji神色符长位字符解决筹划

脸色字符转义php技巧_运用dataX交换mysql数据有emoji神色符长位字符解决筹划

访客 2024-11-22 0

扫一扫用手机浏览

文章目录 [+]

在利用阿里云开源项目datax进行数据交流的时候,涌现报错ERROR StdoutPluginCollector - 脏数据:{"exception":"Incorrect string value: '\xF0\x9F\x91\x8D\xF0\x9F...',导致无法交流数据到目标库。

datax失落败交流结果

脸色字符转义php技巧_运用dataX交换mysql数据有emoji神色符长位字符解决筹划

2、办理思路

脸色字符转义php技巧_运用dataX交换mysql数据有emoji神色符长位字符解决筹划
(图片来自网络侵删)

首先查看交流日志,创造缺点日志,很多网上资料发起说把uft8字符集改为utf8mp4,于是按照操作把目标库字段格式修正,表和库都也同步修正利用utf8mp4,如下图:

修正mysql字符集

重新实行还是弗成,一样涌现这个问题报错ERROR StdoutPluginCollector - 脏数据:{"exception":"Incorrect string value: '\\xF0\\x9F\\x91\\x8D\\xF0\\x9F...'。
后面查询干系资料是中间环节datax的问题,datax会把表情包转义的时候认为是脏数据。
既然是datax的问题,那能否从datax来办理问题呢,于是想到在连接jdbc中是否可以指定干系特定的字符集索引,就和平时在开拓环境测试的时候。

3、问题办理

在jdbc连接增加以下配置,&com.mysql.jdbc.faultInjection.serverCharsetIndex=45

该配置chatGPT的阐明:

com.mysql.jdbc.faultInjection.serverCharsetIndex=45 是一个 MySQL 驱动程序的配置属性,用于仿照故障注入。
它指定了在与 MySQL 做事器进行通信时要利用的字符集索引。
在这种情形下,索引值为45。

在 MySQL 中,字符集索引对应于做事器支持的字符集。
每个字符集都有一个唯一的索引值。
在此配置中,索引值为45指定了某个字符集,但详细是哪个字符集须要查阅 MySQL 文档或干系资源以得到更多信息。

通过故障注入,可以仿照各种网络和做事器端缺点,以测试运用程序对这些缺点的处理办法。
这样的设置在开拓和测试阶段特殊有用,以确保运用程序在面对非常情形时能够精确处理。

datax成功交流结果

相关文章

phpecho履行技巧_Shell echo敕令

echo string您可以利用echo实现更繁芜的输出格式掌握。1.显示普通字符串:echo \"大众It is a...

PHP教程 2024-12-12 阅读0 评论0