我有一个带有utf-8编码的文本文件,其中有超过2k行的insert命令。现在我想将它作为sql脚本执行,以将数据插入数据库。
有希腊文字存在问题。插入后只有?字符,没有希腊字母。
示例插入语句如下所示:
INSERT INTO myDB.[MC_LIST]
([id], [data], [author], [created], [language], [type_name], [position])
VALUES
('2086','<data><id>1</id><language>gr</language><szonelinkdest>/products/how-does-nioxin-works-page.aspx</szonelinkdest><szoneimgalt>alt</szoneimgalt><title>ΠΡΟΣΕΓΓΙΣΗ ΦΡΟΝΤΙΔΑΣ ΤΗΣ ΕΠΙΔΕΡΜΙΔΑΣ</title><szoneimg>/m/photo/box-4.jpg</szoneimg><szonedesc>Κάθε προϊόν lala περιέχει έναν εξειδικευμένο συνδυασμό συστατικών επιστημονικής προέλευσης. </szonedesc><szonelinkname>ΟΙ ΤΕΧΝΟΛΟΓΙΕΣ ΜΑΣ</szonelinkname><szonetitle>ΠΡΟΣΕΓΓΙΣΗ ΦΡΟΝΤΙΔΑΣ ΤΗΣ ΕΠΙΔΕΡΜΙΔΑΣ</szonetitle></data>',null,'4/15/2011 3:47:47 PM','gr','1','2') ;
如何使其发挥作用?
感谢您的帮助。
顺便说一下您知道任何可以将utf-8文件转换为utf-16文件的软件吗?
答案 0 :(得分:8)
首先,您的目标列需要能够存储unicode数据。这些是nvarchar(),ntext,nchar。
其次,尝试将包含西里尔字符的字符串加前缀为N,用于unicode。
即:INSERT INTO表(列名)VALUES(N'yourstring')
希望有所帮助。