簡體   English   中英

我的nvarchar列應該有多大才能存儲最多255個字符?

[英]How big should my nvarchar column be to store a maximum 255 characters?

我需要在nvarchar類型的數據庫列中存儲255個字符。 它們的字符是UTF-8,可以是多字節的。 我不是最好的字符編碼,所以我不確定這是否有意義。 我想要保留255個可以使用任何語言的字符等。

你可以找到關於不同的Unicode編碼一些簡單易懂的背景信息, ,這是第一章手冊中寫了一個開放源代碼項目。 該背景信息將幫助您了解我的答案中的一些細節。

Simmo提供的有關nvarchar 文檔鏈接指出nvarchar以UCS-2格式存儲。 因此,在將UTF-8字符串存儲到數據庫之前,需要將其轉換為UCS-2字符串。 你可以在這里找到C ++代碼進行轉換。

一個微妙但重要的一點是轉換代碼實際上將轉換為UTF-16,它是UCS-2的超集(UTF-16支持使用代理對,而UCS-2則不支持)。 我不使用SQL Server,所以我不知道如果你試圖插入一些代理對,它是否會抱怨。 (也許這里的其他人可以確認它是否會)。

如果 SQL Server不允許代理對,那么應用程序可以支持的語言范圍將受到限制,但至少您知道nvarchar(255)足以滿足您的需求。

另一方面, 如果 SQL Server允許使用代理項對,那么您可能希望使用nvarchar(510)來允許(遠程)每個字符由代理項對組成的可能性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM