Sql server 我的nvarchar列应该有多大才能存储最多255个字符?
我需要在nvarchar类型的数据库列中存储255个字符。这些字符是UTF-8,可以是多字节的。我不是最好的字符编码,所以我不确定这是否有意义。我想持有255个字符,可以在任何语言,等等 255个字符Sql server 我的nvarchar列应该有多大才能存储最多255个字符?,sql-server,unicode,Sql Server,Unicode,我需要在nvarchar类型的数据库列中存储255个字符。这些字符是UTF-8,可以是多字节的。我不是最好的字符编码,所以我不确定这是否有意义。我想持有255个字符,可以在任何语言,等等 255个字符 255个字符 您可以在中找到一些简单易懂的关于不同Unicode编码的背景信息,这是我在一个开源项目手册中写的一章。这些背景资料将有助于你理解我回答中的一些细节 Simmo提供的关于nvarchar的链接指出,nvarchar以UCS-2格式存储。因此,在将UTF-8字符串存储到数据库之前,需要将
255个字符 您可以在中找到一些简单易懂的关于不同Unicode编码的背景信息,这是我在一个开源项目手册中写的一章。这些背景资料将有助于你理解我回答中的一些细节 Simmo提供的关于nvarchar的链接指出,nvarchar以UCS-2格式存储。因此,在将UTF-8字符串存储到数据库之前,需要将其转换为UCS-2字符串。你可以找到C++代码来做转换。 一个微妙但重要的一点是,转换代码将实际转换为UTF-16,UTF-16是UCS-2 UTF-16的超集,支持使用代理项对,而UCS-2不支持。我不使用SQL Server,所以我不知道如果您尝试在其中插入一些代理项对,它是否会抱怨。也许这里的其他人可以证实它是否会 如果SQL Server不允许代理对,那么应用程序可以支持的语言范围将受到限制,但至少您知道nvarchar255足以满足您的需要
另一方面,如果SQL Server允许使用代理项对,那么您可能希望使用nvarchar510来允许每个字符都由代理项对组成的可能性极小。您可以在,这是我在一本开源项目手册中写的一章。这些背景资料将有助于你理解我回答中的一些细节 Simmo提供的关于nvarchar的链接指出,nvarchar以UCS-2格式存储。因此,在将UTF-8字符串存储到数据库之前,需要将其转换为UCS-2字符串。你可以找到C++代码来做转换。 一个微妙但重要的一点是,转换代码将实际转换为UTF-16,UTF-16是UCS-2 UTF-16的超集,支持使用代理项对,而UCS-2不支持。我不使用SQL Server,所以我不知道如果您尝试在其中插入一些代理项对,它是否会抱怨。也许这里的其他人可以证实它是否会 如果SQL Server不允许代理对,那么应用程序可以支持的语言范围将受到限制,但至少您知道nvarchar255足以满足您的需要
另一方面,如果SQL Server允许使用代理项对,则您可能希望使用nvarchar510,以允许每个字符都由代理项对组成的可能性极小。我无法确定nvarchar255是否正常。nvarchar将数据存储为UTF-16,不是UTF-8。我不能肯定nvarchar255应该是好的。nvarchar将数据存储为UTF-16,而不是UTF-8。