ADF复制数据活动中£、弯引号被替换为占位符的解决方法咨询
ADF复制数据活动特殊字符(£、弯引号)变问号的解决配置
问题根源
就是字符编码不匹配——源文件实际采用的编码和ADF数据集配置的编码不一致,导致特殊字符解析失败,被替换成?占位符。
具体配置修改步骤
1. 调整源数据集的编码设置
如果你的源是CSV、TXT这类文本文件:
- 打开对应源数据集的编辑页面,切换到「连接」选项卡
- 找到「编码」下拉菜单,根据源文件实际情况选择:
- 若源文件是Windows系统生成(带£、弯引号的常见场景),优先选择
Windows-1252 - 若源文件是UTF-8编码,确认选择
UTF-8(注意不要选UTF-8 without BOM,除非你确定文件无BOM)
- 若源文件是Windows系统生成(带£、弯引号的常见场景),优先选择
- 保存数据集配置
2. 调整目标数据集的编码设置
如果目标是文本类存储(比如Blob存储的CSV文件、ADLS Gen2的文本文件):
- 打开目标数据集编辑页面,同样在「连接」选项卡找到「编码」设置
- 选择与源数据集一致的编码,或兼容性更广的
UTF-8 - 保存配置
3. 预览数据时的编码调整
在复制数据活动的「源」选项卡点击「预览数据」,若仍显示问号:
- 点击预览窗口右上角的「编码」下拉框,选择与源文件匹配的编码,刷新后即可看到正确的特殊字符
4. 数据库源/目标的额外检查
如果源或目标是数据库(如SQL Server):
- 确保表字段使用Unicode类型:
nvarchar、nchar(不要用varchar、char,这类类型不支持特殊字符) - 检查数据库连接字符串中是否有强制非Unicode编码的参数,如有则删除
验证方法
修改配置后重新运行复制数据活动,检查目标数据中的英镑符号£和弯引号‘是否正常显示;同时在ADF中预览源数据,确认特殊字符已正确解析。
内容的提问来源于stack exchange,提问作者M Gnani
相关产品推荐
相关产品推荐

