character-encoding - 人名的所有允许字符是什么?

标签 character-encoding character names

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




有标准的 A-Z、a-z 字符,但也有连字符、破折号、引号等。

另外,还有所有的国际字符,比如变音符号等。

那么,对于一个以英文为基础的系统,完整的一套是什么?其他语言的集合呢? UTF8、UTF16 等呢?

额外问题:需要多少个名称字段,它们的最大长度是多少?

编辑:人名中肯定有两种不同类型的字符,一种是作为上下文的一部分,另一种是由于结构原因而存在的。我不想限制或干扰上下文字符,但我确实需要处理结构字符。

例如,我输入了一个由破折号分隔的名称,但很难将其与减号区分开来。为了使系统更易于搜索,我想采用所有五种不同类型的破折号,并将它们映射到一个唯一的字符(减号)上,这样搜索者就不需要特别知道最初输入的是哪个符号。

问题存在于破折号,可能还有引号,还有多少其他符号?

最佳答案

W3C 有一篇名为 Personal names around the world 的好文章这很好地解释了问题(和可能的解决方案)(它最初是 Richard Ishida 的两部分博客文章:part 1part 2)

我个人会说:支持每个可打印的 Unicode 字符,并且为了安全起见,只提供一个包含完整格式化名称的字段“名称”。通过这种方式,您可以存储几乎所有形式的名称。您可能需要更结构化的存储,但不要期望能够以结构化形式存储每个组合,因为有太多不同的组合。

关于character-encoding - 人名的所有允许字符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/421046/

相关文章:

ruby - Ruby 从 1.8.7 升级到 1.9.3 后出现 Yaml 编码问题

c - 字符数组开头出现意外字符

php - 如何使用 PHP 替换阿拉伯字母的初始形式?

java - 字符和数字交替出现的字符串

r - R 中 character() 和 ""之间的差异

string - Fortran:在主程序中初始化长度未知的字符串

list - 如何使用Powershell获取文件夹中所有文件夹名称而不是子文件夹中文件/子文件夹的.txt文件?

regex - 提取带有前缀的姓氏的正则表达式

java - 不同包中的两个类如何隔离它们?

html - R htmlParse XML 中的编码问题