从TXT文件中提取U-SQL错误

时间:2018-04-09 08:43:51

标签: u-sql

运行我的数据提取时出现此错误:

  

在输入中找到UTF-8编码的无效字符编码。该   输入文件可能包含损坏的数据或指定的输入编码   在提取器中与实际文件编码不匹配。见   包含文件段的十六进制转储的DETAILS部分   无效的字符编码。

我无法通过以下U-SQL脚本读取UTF-8字符数据。

@cgadmdomain =
EXTRACT 
row_id string,
orgarea_name string,
last_changed_time string,
start_date string,
stop_date string,
domain_name string,
gui_description string,
media string,
direction string,
distribution string,
threshold1 string,
threshold2 string


FROM @cgadmdomainInPath USING Extractors.Text(delimiter: ';');

文件具有媒体列的“TestKöCB”数据。如果我删除此特定记录然后我的脚本运行正常,请告诉我是否需要向参数添加任何内容

1 个答案:

答案 0 :(得分:1)

您确定文件是以UTF-8编码而不是其他编码吗?如果使用字节级编辑器打开文件,您会看到什么字节序列?

根据具体情况,您可能需要将其设置为适当的Windows-125x编码或Unicode。

如果您的数据是使用Windows-1252进行编码的,则可以使用以下语句提取数据(请注意,我们目前仅支持Unicode编码旁边的Windows-125x编码):

  @data = 
    EXTRACT ...
    FROM ... 
    USING Extractors.Csv(encoding:System.Text.Encoding.GetEncoding("Windows-1252"));