【发布时间】:2011-03-30 08:22:12
【问题描述】:
我正在尝试将调查工具中的问题国际化,但是当我插入一些翻译后的字符串时,SQL-server 似乎删除了一些(但不是全部)变音符号...
示例:(立陶宛语)
Ar jūsų darbas reikalauja, kad jūs įgytumėte naujų žinių ir įgūdžių?
变成
Ar jusu darbas reikalauja, kad jus igytumete nauju žiniu ir igudžiu?
请注意,'z' 保留了它的变音符号,而 'u'、'i' 和 'e' 失去了它们的变音符号。 保留文本的表格列是 nvarchar,但表格排序规则是 'Danish_Norwegian_CI_AS'。
有什么建议吗?
编辑 2010.08.16 11:17:
好的。我可能缩小了一些范围。我用来从数据库中提取句子的存储过程似乎是执行剥离的存储过程。它从多个来源中进行选择,所有这些来源都是 nvarchar,使用 UNION 将所有内容放入同一个查询中。那里的某个地方的字符被剥离。
...等一下...我想我可能一路上搞砸了一些东西...
【问题讨论】:
-
你是如何插入字符的?是否有可能它的剥离字符不在您当前的非 Unicode 代码页中?上周我了解到,如果您在管理工作室中使用字符串,则需要在字符串常量前加上 N,即
N'Ar jūsų',表示 unicode。 -
“似乎”是什么意思,即您在 SQL Server Mgmt Studio 中看到的显示或通过查询实际检索到的字符串?
-
“似乎”= 两者……我在 SMS 和应用程序中看到它的方式。但是,字符串前面的“N”修复了 SMS 问题。现在我只需要让我的 (ASP 3.0) 应用程序正确显示字符串
-
我什至尝试根据返回的语言动态设置内容类型标头,但这也无济于事。
标签: sql-server encoding internationalization diacritics