amazon-web-services - 字符被替换为 ? 使用复制命令时的符号
问题描述
我正在尝试使用复制命令将 csv 文件加载到 redshift 表。
varchar 列中的特殊符号(如磅 £)被转换为问号“?” (这是红移的默认设置)。如何也复制特殊符号?
下面是我的 aws 复制命令
COPY public.sales FROM 's3://mybucket/salesfile.csv' iam_role 'arn:aws:iam::99999999999:role/RedShiftRole' delimiter ',' ignoreheader 1 acceptinvchars
解决方案
您的数据是从 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
推荐阅读
- python - 连接表的自动回滚
- java - Spring Boot可以在jar文件中没有默认application.properties文件的情况下加载吗?
- azure - 使用 terraform apply 时 Azure 函数消失
- python - 无法通过 pipenv 安装 html 或 re
- javascript - 如果组件道具类型无效,如何防止构建应用程序?
- php - 显示预加载器图标 - 直到页面完全加载
- shell - 这是否意味着易受攻击的功能如果我通过程序执行 shell 代码
- java - 使用 Spring Data JpaRepositories 通过 ElementCollections 中的值查询实体
- python - 选择多个标准
- shell - 无法扩展 cURL 命令中使用的变量