字符被替换为?使用复制命令时的符号

时间:2019-04-25 07:22:15

标签: amazon-web-services amazon-s3 aws-lambda amazon-redshift

我正在尝试使用copy命令将csv文件加载到redshift表中。

varchar列中的特殊符号(如££)将转换为问号“?” (这是redshift的默认设置)。如何复制特殊符号?

下面是我的aws复制命令

COPY public.sales FROM 's3://mybucket/salesfile.csv' iam_role 'arn:aws:iam::99999999999:role/RedShiftRole' delimiter ',' ignoreheader 1 acceptinvchars

1 个答案:

答案 0 :(得分:1)

是否已从SQL Server提取数据?如果是这样,可能是在UTF-16LE中,您需要将其作为参数添加到COPY中。

COPY public.sales 
FROM 's3://mybucket/salesfile.csv' 

ENCODING UTF16LE

IAM_ROLE 'arn:aws:iam::99999999999:role/RedShiftRole' 
DELIMITER ',' 
IGNOREHEADER 1 
ACCEPTINVCHARS

https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-encoding