Quels sont tous les caractères permis pour les noms des personnes? [fermé]

il y a les caractères standard A-Z, A-z, mais il y a aussi des traits d'union, des tirets em, des citations, etc.

de plus, il y a tous les caractères internationaux, comme les umlauts, etc.

alors, pour un système anglais, Quel est l'ensemble complet? Quid des jeux pour d'autres langues? QU'en est-il UTF8, UTF16, etc.?

question Bonus: combien de champs de noms sont nécessaires, et quelle est leur longueur maximale?

EDIT: il y a certainement deux types différents de caractères impliqués dans les noms des gens, ceux qui sont là en tant que partie du contexte, et ceux qui sont là pour des raisons structurelles. Je ne veux pas limiter ou interférer avec les caractères de contexte, mais je dois traiter avec les caractères structurels.

par exemple, j'ai eu un nom qui a été séparé par un tiret em, mais il était difficile de le distinguer du caractère moins. De rendre le système plus facile pour la recherche, je veux prendre les cinq différents types de tirets, et les mapper sur un caractère unique (moins), de cette façon le chercheur n'a pas besoin de savoir spécifiquement quel symbole a été initialement entré.

Le problème existe pour les tirets, probablement entre guillemets, mais aussi combien d'autres symboles?

39
demandé sur Your Common Sense 2009-01-07 19:42:41

10 réponses

il y a un bon article du W3C intitulé les noms de personnes dans le monde qui explique assez bien les problèmes (et les solutions possibles) (il s'agissait à l'origine d'un billet de blog en deux parties de Richard Ishida: partie 1 et partie 2 )

personnellement, je dirais: soutenez chaque caractère imprimable Unicode et pour être sûr fournir juste un seul champ "Nom" qui contient le nom complet, formaté. De cette façon, vous peut stocker à peu près chaque forme de nom. Vous pourriez avoir besoin d'un stockage plus structuré, mais alors ne vous attendez pas à être en mesure de stocker chaque combinaison unique sous une forme structurée, car il ya tout simplement trop de différents.

41
répondu Joachim Sauer 2018-08-06 15:27:52

les caractères de liste blanche qui pourraient apparaître dans le nom d'une personne est la mauvaise façon d'aller, si vous me demandez. Bien sûr, [A-Za-z] est un bon point de départ, mais, comme vous l'avez dit, vous avez des problèmes avec les noms "européens". Donc vous cartographiez tous les umlauts, circonflexes et ceux-là. Quid des noms Chinois? Le japonais? Indien? L'hébreu? Vous entrez dans une bataille contre les éoliennes.

Si vous absolument vérifier la validité du nom d'une personne, je vous suggère de faire un modeste liste noire de certains personnages. Des accolades, des Caractères mathématiques, une certaine ponctuation et d'autres pourraient être sûrs d'ignorer. Mais je serais prudent, si j'étais vous.

il vaut peut-être mieux accepter ce qui arrive. L'UTF-16 devrait être l'ensemble de caractères exagérés d'aujourd'hui, qui devrait être adéquat pour quelques années à venir.

Edit: quant à votre question concernant la longueur de nom et la quantité de noms. Si vous voulez vraiment que les gens écrivent leur des noms réels et complets, je suppose que la seule réponse infaillible à ces deux questions serait "infinite". Ne pas être en mesure de trouver des exemples réels pour les êtres humains, mais sûrement il ya des exemples analogues pour les humains comme le nom autochtone de la ville de Bangkok .

15
répondu Henrik Paul 2009-01-07 16:55:32

Je ne pense pas qu'il y ait une réponse définitive. Après tout, certaines personnes ont des noms qui ne peuvent même pas être exprimés en UTF-16...

Prince symbol

il y a des gens bizarres dehors, qui donneront à leurs enfants les noms les plus fous, y compris mettre une ponctuation bizarre, des accents qui n'existent pas dans leur propre langue, etc.

cependant, vous pouvez placer des restrictions arbitraires sur votre base de données. Si vous voulez vous pouvez insister sur les noms ASCII 7 bits. C'est un peu grossier pour les utilisateurs, mais ils vivront avec. Cela facilite certainement la recherche.

la fille de ma collègue s'appelle Amélie. Mais même certains (pas tous! les sites officiels du gouvernement britannique ("please enter the name exactly as shown on the birth certificate") n'acceptent pas l'unicode, il doit donc utiliser "Amélie" à la place.

8
répondu slim 2017-02-08 14:09:41

sur la question des champs de nom, le faux réponse est prénom, initiale du milieu, nom de famille, etc. pour de nombreuses raisons.

  1. beaucoup de gens sont connus par leur deuxième prénom, et utilisent formellement une initiale, deuxième prénom, le format du nom de famille.

  2. dans certaines cultures, le nom de famille est le prénom, et le prénom est le nom de famille.

  3. les prénoms multiples de premier et/ou de deuxième prénom sont de plus en plus courants. Comme le souligne @Dour high Arch, l'autre extrême est celui des gens qui n'ont qu'un seul mot à leur nom.

dans une base de données orientée objet, vous stockeriez un objet de nom avec des méthodes pour retourner un nom de style répertoire ou de style signature; et le magasin de soutien contiendrait toutes les données nécessaires pour soutenir ces méthodes.

Je n'ai pas encore vu de modèle de base de données relationnelle qui améliore le modèle de deux chaînes de longueur variable pour les noms de style de répertoire et de style de signature.

3
répondu Ken Paul 2009-01-07 23:38:24

tout caractère qui peut être représenté par un multiple de huit bits (supérieur à zéro) est un caractère possible pour le nom d'une personne. Les longueurs des noms et des encodages sont arbitraires, donc aucune limite supérieure ne devrait être considérée.

assurez-vous de nettoyer les entrées de votre base de données pour que les petites tables de Bobby ne vous comprennent pas.

2
répondu Max 2009-01-07 16:50:44

Cela dépend vraiment de ce que l'application est censé être utilisé pour.

bien sûr, en théorie, c'est génial si vous permettez à chaque script sur la terre verte de Dieu d'être utilisé, mais si la base de données est également utilisé par le personnel de soutien, vont-ils être en mesure de gérer les noms en japonais, hébreu et écriture thaï? Pouvez-vous imprimante, si elle est utilisée pour imprimer des étiquettes d'affranchissement?

vous pourriez ajouter un champ supplémentaire "Transcription latine", mais IMO il est vraiment correct de le restreindre à ISO-8859-1 caractères-les gens qui n'utilisent pas de caractères latins sont maintenant tellement habitués à devoir utiliser une transcription qu'ils ne s'en soucient plus, à moins qu'ils ne soient des nationalistes hardcore.

2
répondu Michael Borgwardt 2009-01-08 00:17:42

je fais un logiciel pour les écoles de conduite aux Etats-Unis, alors pour moi ce qui importe le plus ce que le DMV de L'État accepte comme un nom propre sur un permis de conduire. Dans mon cas, cela poserait des problèmes d'autoriser des noms au-delà de ce que permet le permis de conduire, même si ces noms étaient légaux parce que le même nom doit plus tard être utilisé pour un permis de conduire.

de StackOverflow, Je n'avais toujours pas confirmé la réponse dont j'avais besoin. Et je sais que dans mon état (Californie) qu'ils utilisent AS400 avec un logiciel probablement écrit en COBOL, et au meilleur de ma connaissance, ceux-ci ne supportent qu'un jeu de caractères 8 bits. (Is it EBCDIC?) De toute façon... Ugh.

donc, j'ai appelé le permis de conduire de Californie... Bien sûr, leur système permet A-Z et des espaces et absolument rien d'autre. Même pas les traits d'union sont autorisés -- les Tirets sont remplacés par des espaces. En fait, apparemment juste pour être difficile, ils n'utilisent que les capitales. Et les noms comme "O'Malley" doivent être remplacés par "OMALLEY".

laisser au gouvernement. Je dois dire que je suis ravi de ne pas être un développeur travaillant pour DMV. (Bien que je pourrais vraiment utiliser ce genre de salaire.)

2
répondu PaulOTron2000 2012-10-26 18:20:55

UTF-8 devrait être assez bon, en ce qui concerne les champs de nom, vous voudrez au minimum un prénom et le dernier.

0
répondu chills42 2009-01-07 16:47:29

Que faites-vous quand vous avez "L'Artiste Anciennement Connu comme le Prince". Ce symbole n'est pas un caractère de l'ensemble unicode (AFAIK).

c'est une certaine légèreté, mais en même temps, les noms sont un concept assez large qui ne se prête pas bien à un format structuré. Dans ce cas, quelque chose de libre-forme pourrait être le plus approprié.

0
répondu casperOne 2009-01-07 16:55:56

selon la complexité de la structure de votre nom, je pourrais voir:

  1. Prénom
  2. Initiale/Deuxième Prénom
  3. Nom De Famille
  4. suffixe (Jr. Sr. II, III, IV, etc.)
  5. préfixe (M., Mme, Mme, etc.)
-1
répondu TheTXI 2009-01-07 16:51:56