我试图将从a生成的文件转换mssql为utf-8.当我mssql在Windows Server 2003中使用notepad ++ 打开输出时,UCS-2LE我将文件复制到Ubuntu机器时识别该文件,使用file [file]它显示编码是UTF-16LE.真的很困惑,编码必须有一些区别,因为名称不同.但为什么我在同一个文件中看到这个.它是.csv从mssql查询生成的文件.
我正在导入源 CSV 文件,我不知道源编码,当我使用(相关问题)打开文件时,只能看到\xc3\xaf\xc2\xbf\xc2\xbd(ANSI 编码)或(UTF8-without-BOM 编码) 。\xef\xbf\xbdNotepad++
mssql-2008该文件已使用以下命令导入到数据库中bulk insert:
DECLARE @bulkinsert NVARCHAR(2000) \n SET @bulkinsert = \n N\'BULK INSERT #TempData FROM \'\'\' + \n@FilePath + \nN\'\'\' WITH (FIRSTROW = 2,FIELDTERMINATOR = \'\'","\'\',ROWTERMINATOR =\'\'\\n\'\')\' \n EXEC sp_executesql @bulkinsert \nRun Code Online (Sandbox Code Playgroud)\n\n然后将其复制到第 1 列 ( ) 中的table1常规内容。现在,当我研究这个时,我看到了一些代替这些角色的东西。#tempDatavarchar()table1?
我已经尝试过cast,nvarchar()但没有帮助。
当我在我们同时下载的链接的支持下深入研究这些字符的真正含义时,我发现这些字符是,,\xc3\xa9等等。\xc3\xa4\xc3\xa5
我会用来replace修复数据,但我需要编写一些丑陋的代码并研究单词的单独模式并进行替换,所以看起来很困难。
数据库/表排序规则:SQL_Latin1_General_CP1_CI_AS …
我想删除文本文件的第二行.使用vim或ex任何类型的文本编辑器表单脚本.我已经提出了这些命令但对我不起作用.
#!/bin/sh
iconv -f Utf-16le -t utf-8 ~/Desktop/upload.csv -o ~/Desktop/finalutf.csv
vim ':2d|wq' ~/Desktop/finalutf.csv
ex -sc '%s/\r//e|x' ~/Desktop/finalutf.csv
Run Code Online (Sandbox Code Playgroud)
该脚本.sh是可执行的.第一行代码工作,第三行也是第二行,但不是第二行.我试图看到vim命令的文档删除特定的行,并在终端上尝试它,它的工作(:2d)尝试在脚本中使用它似乎令人困惑.我是Ubuntu以及vim和脚本的新手,尝试学习似乎已经足够困难,因为很多复杂的命令解释得很远,对于初学者来说,在文档中学习vim.
可能重复:
使用BULK INSERT未正确导入重音字符
在我的系统中运行的.net程序为我提供了一个csv文件.我想知道该文件的编码.
csv文件具有é,ä,å,æ的字符,但被示出为(UTF8-与BOM).我是否有可能将这些角色押注为原始角色或英文角色.
csv文件是由在同一用户下同一台机器上运行的.net程序创建的,但在创建文件后我看不到原始字符.
sample data (UTF8-Without BOM) from csv file.
Pok?mon Black Version
TGC ? Nintendo
on H?tel de R?ve
La Reine Masqu?e et la Tour des Miroirs
Run Code Online (Sandbox Code Playgroud)