sqlserver2005编码问题

sqlserver2005编码问题

我有一个 utf-8 编码的文本文件,其中包含超过 2k 行的插入命令。现在我想将其作为 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

此数据库是否仅应包含希腊语文本?如果是那样的话,请确保其排序规则是希腊语排序规则之一,并更改所有现有 varchar 列的排序规则。

如果您需要国际化,那么请使用 nvarchar 列而不是 varchar。

我猜数据列是 xml 列?这样也可以。

如果你要使用 nvarchar 或 xml,则通过在字符串常量前放置一个 N 来更改插入语句以插入 nvarchar 数据,如下所示

N'<data><id>1</id><language>gr...

相关内容