MSSqlserver批量数据数据导入的中文乱码解决思路

MSSqlserver批量数据数据导入时会出现乱码情况,经分析utf-8格式的中文,在导入过程中即使选择utf-8编码,中文识别错误;而gb2312格式的字符导入正常。
因此,需将大文本文件使用linux的iconv工具进行格式转换,转换为gb2312,MSSqlserver导入时用ascii格式,则导入正确。

另外,部分csv文件的列分隔可能出现歧义情况,导致列之间错位,可在导入前将各字段长度设置得长一些,如500,1000,以规避导入中因字符异常截断造成的导入停止。

附:iconv转换命令

  1. 通过iconv -l 命令查看,其支持的编码格式还不少,之间可以互相转换

  2. 转换gbk编码文件为utf-8编码文件

简洁命令:iconv -f gbk -t utf-8 index.html > aautf8.html

其中-f指的是原始文件编码,-t是输出编码 index.html 是原始文件 aautf8.html是输出结果文件

  1. 转换gbk编码文件为utf-8编码文件

详细命令:iconv -c --verbose -f gbk -t utf-8 index.html -o index_utf8.html

-c 指的是从输出中忽略无效的字符, --verbose指的是打印进度信息 -o是输出文件

  1. 转换utf-8编码文件为gb2312编码文件

详细命令:iconv -c --verbose -f utf-8 -t gb2312 index_utf8.html -o index_gb2312.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值