Neo4j导入CSV文件时非英文字段出现乱码的原因及解决方法
Neo4j导入CSV非英文内容乱码问题说明
产生原因
- Neo4j的
LOAD CSV指令默认仅识别无BOM头的UTF-8编码文件,若CSV采用GBK、GB2312、带BOM的UTF-8等其他编码存储,解析非英文字符时就会出现����类乱码 - 部分工具(如Excel)默认导出的CSV会额外添加不可见控制符,也可能干扰字符解析引发乱码
修复方案
- 方案一(推荐):修改CSV文件编码
- 用VS Code、Notepad++等文本编辑器打开目标CSV,查看当前编码
- 将文件转存为
UTF-8(无BOM)格式,重新执行导入语句即可
- 方案二(无需修改原文件):Cypher语句显式指定编码
执行时在LOAD CSV参数中添加原文件的实际编码,示例如下:// 若原文件为GBK编码则填GBK,可根据实际编码替换参数值 LOAD CSV WITH HEADERS FROM 'file:///sample.csv' {encoding: 'GBK'} AS row RETURN row
注意事项
- 避免直接用Excel修改保存CSV文件,Excel默认导出的CSV编码非UTF-8,且易插入多余控制符引发二次异常
- 若修改编码后仍存在乱码,可检查CSV是否存在未转义的分隔符、特殊符号打断字段解析
内容的提问来源于stack exchange,提问作者NoviceY
相关产品推荐
相关产品推荐

