插入SQL Server时希腊编码的问题

时间:2011-09-10 18:23:17

标签: sql-server sql-server-2005 notepad++

我有一个带有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文件的软件吗?

1 个答案:

答案 0 :(得分:8)

首先,您的目标列需要能够存储unicode数据。这些是nvarchar(),ntext,nchar。

其次,尝试将包含西里尔字符的字符串加前缀为N,用于unicode。

即:INSERT INTO表(列名)VALUES(N'yourstring')

希望有所帮助。

相关问题