我需要在nvarchar类型的数据库列中存储255个字符。他们的字符是UTF-8,可以是多字节。我不是字符编码最好的,所以我不确定这是否合理。我想抱着255个字符,可以是任何语言等我的nvarchar列应该多大才能存储最多255个字符?
1
A
回答
1
3
您可以在this中找到一些关于不同Unicode编码的简单明了的背景信息,这是我在开源项目手册中编写的章节。该背景信息将帮助您了解我答案中的一些细节。
关于约nvarchar
由Simmo提供的链接指出nvarchar
以UCS-2格式存储。因此,您需要先将UTF-8字符串转换为UCS-2字符串,然后再将它们存储到数据库中。你可以找到C++代码来做这个转换here。
微妙而重要的一点是,转换代码实际上会转换为UTF-16,它是UCS-2的超集(UTF-16支持使用代理对,而UCS-2则不支持)。我不使用SQL Server,所以我不知道它是否会投诉,如果你试图插入一些代理对。 (也许这里的其他人可以确认它是否会)。
如果 SQL服务器不允许代理对,那么就会出现在你的应用程序可以支持的语言范围的限制,但至少你知道nvarchar(255)
足以满足您的需求。
在另一方面,如果SQL服务器允许使用代理对,那么你可能想使用nvarchar(510)
以允许(远程)的可能性,每一个字符将被由代理对。
相关问题
- 1. 在一个存储过程(SQL 2005)参数,我应该用@Name为nvarchar(255)或nvarchar的@Name(最大)
- 2. 存储多个位 - 我应该使用多个列还是单个位域列?
- 3. 我应该走多远才能最小化数据库查询?
- 4. 我应该存储同一个文件的多个实例吗?
- 5. nvarchar中有多少个字符(MAX)
- 6. 我应该有1个还是多个存储库?
- 7. 我怎样才能把多个字符组合成一个字符串
- 8. 我应该如何将多个值存储到SQL行中?
- 9. 在nvarchar列中查找两个或更多相似字符
- 10. 如果我在MySQL中存储int(255),MAX数是多少?
- 11. C风格字符数组 - 我们存储多少个字节?
- 12. 在一列中存储多个值与在多个值中存储多列
- 13. SQL Server 2000企业管理器 - 存储大于4000个字符的nvarchar数据?
- 14. nvarchar可以在Oracle中存储多少字节
- 15. MySQL最大字符长度存储
- 16. R树节点应该有多少个孩子(最小,最大)?
- 17. 您的WPF应用程序应该多大才能开始使用MVVM
- 18. 在SQL Server中更改列varchar(255)nvarchar
- 19. 建议对数据库架构的文本列存储超过255个字符
- 20. C#将多个字符串存储在自定义列表中
- 21. 如何在MySQL数据库中存储超过255个字符?
- 22. 什么是字符串参数存储过程的最大长度是多少?
- 23. 我们可以在sqlite中为nvarchar提供的最大大小是多少?
- 24. MonoMac控制台应用程序只返回nvarchar的第一个字符(最大)
- 25. 存储多种类型的字符
- 26. 使用EclipseLink JPA绑定大于255个字符的字符串
- 27. 我应该如何将属性存储在sails.js中的多对多关系中?
- 28. Python:我的字典,存储名字一次不会存储多个名字
- 29. 存储多语言字符串的最佳实践
- 30. 如果我们必须存储nvarchar(10)值SQL Server,那么varbinary列的大小是多少?
我真的很确定nvarchar(255)应该没问题。 – DForck42 2011-04-21 17:15:24
'nvarchar'将数据存储为UTF-16,而不是UTF-8。 – Gabe 2011-04-21 17:31:11