SQL插入多语言数据 - 丢失变音符号等

标签 sql sql-server tsql unicode nvarchar

将多语言数据插入 SQL 2008 数据库(nvarchar 字段)我注意到它似乎丢失了一些特殊字符标记。

例如

    INSERT INTO [dbName].[dbo].[tbl_Question_i18n]  
           ([QuestionId]  
           ,[LanguageId]  
           ,[QuestionText])  
     VALUES  
           (@lastinsertedquestionid  
           ,@romanian  
           ,'Număr unic de referinţă (URN)')  

插入为“Numar unic dereferinta (URN)”

尽管如果我执行“编辑前 200 行”,我可以毫无问题地将相同的文本直接粘贴到该字段中。

请问我缺少什么?

最佳答案

INSERT INTO [dbName].[dbo].[tbl_Question_i18n]  
       ([QuestionId]  
       ,[LanguageId]  
       ,[QuestionText])  
 VALUES  
       (@lastinsertedquestionid  
       ,@romanian  
       ,N'Număr unic de referinţă (URN)')

您需要在字符串常量前添加 N 使其成为 Unicode

关于SQL插入多语言数据 - 丢失变音符号等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3248349/

相关文章:

java - 从 Java 调用 SQL 包过程

sql-server - 检测 SMO 存在的最佳方法是什么?

.net - 如何在不打开数据库的情况下测试SqlServer连接

sql - 向 ORDER BY 语句添加条件

php - 从具有另一个 sql 结果的表中选择

c# - 如何将 'Sql in' 与 ASP.NET MVC 存储库模式一起使用

php - 关于我应该如何构建我的数据库的建议

sql - T-SQL计算列如何获取ISO周数

c# - 存储过程:使用Return还是选择Select?

sql - 如何拒绝所有用户删除表