如何在SQL Server / SQL Reporting Services上显示东方字母(中文字符)?

时间:2010-09-10 03:53:42

标签: sql-server unicode

我需要在我的数据库中插入中文字符,但它总是显示???? ..

示例:

插入此记录。

微波室外单元 - 苹果

然后它变成了???

结果:

?????? - 苹果

我真的需要帮助......谢谢你。

我正在使用MSSQL Server 2008

5 个答案:

答案 0 :(得分:15)

确保在插入时使用大写N指定unicode字符串:

INSERT INTO Table1 (Col1) SELECT N'微波室外单元-Apple' AS [Col1]

并且Table1(Col1)是NVARCHAR数据类型。

答案 1 :(得分:6)

确保您要插入的列是 nchar nvarchar ntext 。如果将Unicode字符串插入ANSI列,则实际上会在数据中出现问号。

另外,请小心检查当您将数据拉回来时,您不仅会看到客户端显示问题,而且实际上会收到问号:

SELECT Unicode(YourColumn), YourColumn FROM YourTable

请注意,Unicode函数仅返回字符串中 first 字符的代码。

一旦您确定该列是否确实正确存储了数据,请回复,我们会为您提供更多帮助。

答案 2 :(得分:3)

尝试将适当的语言添加到Windows区域设置中。您必须确保将开发计算机设置为以适当的语言显示非Unicode字符。 当然,你需要将NVarchar用于外语领域

答案 3 :(得分:0)

确保已将数据库的编码设置为支持这些字符的编码。 UTF-8是事实上的编码,因为它兼容ASCII,但支持所有1114111 Unicode代码点。

答案 4 :(得分:-1)

SELECT 'UPDATE table SET msg=UNISTR('''||ASCIISTR(msg)||''') WHERE id='''||id||''' FROM table WHERE id= '123344556' ;