我想将包含中文字符的csv数据文件批量插入sql server 2012.csv数据文件的原始编码为utf8,fmt文件由bcp工具生成。问题是,如果我通过记事本将csv数据文件的编码从utf8转换为unicode(用记事本打开数据文件,然后选择'另存为'并选择' unicode'格式),我可以批量插入数据到数据库。如果我保留其原始编码,则不会将任何内容插入数据库。
任何人都知道是否存在任何脚本,例如python或powershell,可以自动将数据文件从utf-8编码转换为unicode并保留中文字符而不更改。 感谢。
答案 0 :(得分:0)
使用Python将UTF-8文档(可能带有UTF-8 BOM)转换为UTF-16-LE:
import io
with io.open("my_input_file.txt", "r", encoding="utf-8-sig") as my_input:
with io.open("my_output_file.txt", "w", encoding="UTF-16-LE") as my_output:
my_ouput.write( u"\uFEFF" ) # write a UTF BOM
my_ouput.write( my_input.read() )