解决 .csv 文件上传到 pgsql 的字符报错问题

目录

背景

上传 .csv 文件进行数据导入到 pg 时,报错显示如下:

复制代码
ods.tbl_inp_fee_detail.csv数据上传失败
报错信息:org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0x00 Where: COPY tbl_inp_fee_detail, line 3942264

问题

通过报错信息定位到 line 3942264,发现该 .csv 文件中存在 NUL 的字符,在 notepad++ 中显示如下图所示:

PS:notepad++ 记得先勾选上 功能栏选择 视图->显示符号->显示所有字符

解决办法

  1. 把打开 .csv 文件的默认格式改为 notepad++ 打开

  2. 最好采用本地的解压软件打开压缩包

  3. 由于压缩包的 .csv 文件是加密的,需要先解密,然后就可以打开报错相应的 .csv 文件,这时就直接打开的是 notepad++

  4. 在 notepad++ 中,点搜索栏的查找,在弹出窗口选替换,输入框输入 \x00 ,下面的替换为给它删到空,因为就是要把 NUL 字符替换为空,然后注意查找模式要选择扩展,最后点全部替换即可,记得 ctrl + s 保存,然后压缩包会提示你保存更改,点确认即可

  5. PS:解压 .csv 文件,notepad++ 打开 。csv 文件,以及替换字符的过程都可能需要挺长时间(看 .csv 文件的大小),不要乱点界面不然会卡死被强制退出

相关推荐
IT 小阿姨(数据库)4 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
IT 小阿姨(数据库)6 小时前
PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
linux·运维·数据库·sql·postgresql·oracle
chat2tomorrow13 小时前
数据采集平台的起源与演进:从ETL到数据复制
大数据·数据库·数据仓库·mysql·低代码·postgresql·etl
考虑考虑14 小时前
Postgerssql格式化时间
数据库·后端·postgresql
不掰手腕15 小时前
在UnionTech OS Server 20 (统信UOS服务器版) 上离线安装PostgreSQL (pgsql) 数据库
linux·数据库·postgresql
J.Kuchiki15 小时前
【PostgreSQL内核学习:基于 ExprState 的哈希计算优化—— GROUP BY 与 SubPlan 的性能提升】
postgresql
广州腾科助你拿下华为认证16 小时前
PostgreSQL认证_PGCM考试难度有多大?
数据库·postgresql
IvorySQL1 天前
PostgreSQL 大对象管理指南:pg_largeobject 从原理到实践
postgresql
Java水解3 天前
PostgreSQL向量库pgvector实战指南
后端·postgresql
cg.family3 天前
postgresql17.5 手动编译安装
postgresql