首页 > 解决方案 > 微软 SQL 服务器。varchar(非 nvarchar)数据类型列中的越南语符号

问题描述

我有一个关于 MS SQL Server 2012 的问题。我有一个默认排序规则 SQL_Latin1_General_CP1_CI_AS 的数据库。现在我决定将越南数据存储在 varchar(不是 nvarchar)列中。为了实现这个目标,我将数据库排序规则更改为越南语_CI_AI,但这对我没有帮助。特殊的越南语字符仍以问号表示。

之后我尝试进行实验 - 数据库排序规则更改为 Cyrillic_General_CI_AS(俄语符号)、 Korean_90_CI_AI(韩语符号)和 Chinese_Traditional_Stroke_Count_100_CI_AI(中文符号)。所有这些案例都成功完成 - 所有数据都正确保存在 varchar 列中。

谷歌搜索有关此问题的一些信息源帮助我找到了这个主题 - https://social.msdn.microsoft.com/Forums/sqlserver/en-US/d34242e5-90ac-4c91-b720-66ebc6dca229/inserting-vietanamese-characters-在-sql-server?forum=sqldatabaseengine。正如在最后一条评论中所说,即使您已将排序规则更改为越南语_CI_AI,也无法将越南语符号存储在 varchar 数据类型中。因此,要存储越南数据只有一种方法 - 使用 nvarchar 数据类型。我想知道,这些信息是否正确,或者有什么方法可以将越南数​​据放入 varchar 列中?

当然是你的,德米特里

标签: sql-servercollation

解决方案


推荐阅读