gpt4 book ai didi

sql-server-2008 - 对于同时包含英语和日语文本的列使用什么排序规则?

转载 作者:行者123 更新时间:2023-12-04 05:26:04 25 4
gpt4 key购买 nike

我使用的是 Sql Server 2008,我们的要求之一是提供多语言支持。主要语言是英语、德语、法语和日语。

我有一个表,其 COLLATION 为 Latin1_General_CI_AS。将存储文本数据的列具有此 COLLATION 'Japanese_CI_AS'

当我在 SQL Server Management Studio (SSMS) 中运行以下 SQL 时

DECLARE @translation nvarchar(max)
SET @translation = 'クッキー(Cookie)を許可してください'

PRINT @translation

UPDATE [ResourceTranslations]
SET Translation = @translation
WHERE Id = 4

插入的值是'????(Cookie)?????????',这也是打印出来的值。

SSMS 是否有可能在日文字符上出现问题?似乎打印语句告诉我该值正在更改为 '????(Cookie)?????????'在它被插入到表中之前。

感激地接受任何帮助或建议。

最佳答案

您错过了 N将字符串文字视为 nvarchar 所需的前缀而不是 varchar所以字符串文字被强制转换为 varchar在您数据库的默认排序规则中,首先在此过程中丢失这些日语字符。

以下应该按预期工作。

DECLARE @translation nvarchar(max)
SET @translation = N'クッキー(Cookie)を許可してください'

PRINT @translation

UPDATE [ResourceTranslations]
SET Translation = @translation
WHERE Id = 4

关于sql-server-2008 - 对于同时包含英语和日语文本的列使用什么排序规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13199828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com