记录一次tsv格式的文件数据导入MongoDB中文乱码的问题

情况:

那是在周五的下午吧,快加班了,领导突然临时加的活儿,给我发了一个文件并说把它导入到测试库MongoDB数据库里面去,表名就是文件名,文件是这样的:
在这里插入图片描述
当时我是这样解决的:

参数:

-h:数据库宿主电脑IP

-u:数据库用户名

-p:数据库密码

-d:数据库名

-c :数据库中的表名

–type:指定导入的数据类型

–file:指定从哪一个文件中导入数据,即文件路径

–headerline:仅适用于导入csv、tsv格式的数据,表示文件中的第一行作为数据头

–upsert:以新增或者更新的方式来导入数据

mongodb导入数据

1、打开命令窗口,进入MongoDB安装目录的“bin”目录下
记录一次tsv格式的文件数据导入MongoDB中文乱码的问题_第1张图片
2、输入命令:mongoimport -d cxstatistics -c data --type csv --headerline --file d:\dev\airportslist.tsv --headerline --upsert
记录一次tsv格式的文件数据导入MongoDB中文乱码的问题_第2张图片
3、执行命令即可完成数据的导入。
注:若需要远程导入,只需在命令前加-h。
我是远程连接上传的,所以我的命令是加了-h的,如下:
mongoimport.exe -h 255.255.255.0:27017 -u MongoDB -p 123456 -d B2B -c airportslist --type tsv --headerline --file d:\dev\airportslist.tsv --headerline --upsert

然而最后意外发生了,数据是成功导入了,查看数据的时候,出现了中文乱码的问题,百度了看了好几篇文章试了一下都没解决,最后我静下来仔细想想,决定查看tsv这个文件是什么编码的,把文件拷贝到idea查看的时候,发现全是乱码的,如下图:
记录一次tsv格式的文件数据导入MongoDB中文乱码的问题_第3张图片
我的idea是UTF-8的字符编码,因为MongoDB默认的字符是UTF-8的,这样就找到了问题,是因为文件字符编码是GB2312,所以导入的数据就出现了中文乱码,最后我用Notepad++把GB2312转成UTF-8就完美解决了,如下:

转成功之后重新导入就可以了

记录一次tsv格式的文件数据导入MongoDB中文乱码的问题_第4张图片

最后查看MongoDB就是这样的,没有任何乱码:
记录一次tsv格式的文件数据导入MongoDB中文乱码的问题_第5张图片

参考博客链接:https://blog.csdn.net/hh12211221/article/details/78900709

你可能感兴趣的:(MongoDB中文乱码,java,中文乱码)