문제

저장 개인 이름 구조화 된 방식으로 많은 다른 국가의 사용자가 사용하는 응용 프로그램에서는 매우 어려워 보입니다. 내가 작업하고있는 응용 프로그램은 이론적으로 전 세계 어느 곳에서나 사용할 수 있습니다.

가장 자주 a 주어진 이름 (이름 / 예측) 그리고 사용되는 것 같습니다. 이 경우이 두 가지는 단순히 사용자 데이터베이스 테이블에 저장 될 수 있습니다.

  • 전 세계적으로 사용되는 애플리케이션을 위해 사용자 테이블에 "주어진 이름"및 "성"을 저장합니까? 동기 부여로 의견을 제시하십시오.
  • 다른 제안이 있습니까?
  • 이것을 해결하는 방법에 대한 좋은 가이드가 있습니까?

몇 가지 중요한 사실 :

  • 사용자 간의 커뮤니케이션 (동일하거나 다른 회사에 거주하고 다른 국가에있을 수 있음).
  • 이름으로 사용자를 검색하는 것은 사용자에게 자연스럽고 사람 이름의 모든 중요한 부분을 검색하는 것이 중요합니다.
  • 다른 국가의 누군가에게 메시지를 보낼 때 적절한 인사를 제안함으로써 시스템이 도움을 줄 수 있다면 좋을 것입니다. 아마도 복잡한 구조를 가진 것처럼 보이기 때문에 적어도 내가 읽은 것에서 아랍어 이름이 어려울 것입니다.
도움이 되었습니까?

해결책

이 작업을 수행하는 보편적 인 구조 방법은 실제로 없습니다. 나는 "전체 이름"에 대한 큰 필드와 "디스플레이 이름"을위한 다른 필드를 가질 것입니다. 두 유니 코드.

예를 들어, 스페인어를 사용하는 국가의 IIRC에서는 사람들이 일반적으로 네 개의 이름을 가지고 있습니다. 주어진 두 이름과 두 개의 성 (하나는 아버지, 하나는 어머니에게서). 아랍인들은 본질적으로 그들이 선택하기로 선택한 한 링크 된 이름 목록을 가지고 있습니다 (So-and-So, So-and-So, ...)의 아들의 아들). 동아시아 국가는 주어진 이름을 마지막으로 두는 경향이있는 반면 유럽인들은 주어진 이름을 먼저 넣습니다.

다른 팁

모든 문화권에 걸쳐 글로벌에 관심이 있다면 사람의 HR-XML 사양. 주어진 이름과 성은 서쪽 밖에서 이동할 때 잘라 내지 않습니다. FamilyName Givenname의 동부 표준은 FullName 정의를 시작합니다. 게다가, 당신은 대체 스크립트의 모든 잠재적 복잡성을 가지고 있습니다 (모든 사람이 라틴 알파벳, y'know), 접두사 및 접미사 (NN SR, van der Waals)가 있습니다.

스토리지보다는 전송 및 통합을위한 표준이지만 XML 스키마 구문이 귀하를 무서워하지 않도록하십시오. 나는 그것의 모든 측면을 구현하지는 않지만, 즉시 명확하지 않은 코너 케이스 제공 업체이며, 의식적으로 무시할 수 있습니다. 특히, 마지막에 예제를 확인하십시오!

그리고 선을 위해, 모든 사람의 초기를 가정하는 미국 응용 프로그램을 만들지 마십시오!

일반적으로 이름은 사람의 인간 읽을 수있는 식별자입니다. 주어진 사람의 경우 해당 식별자의 각 사용 사례에 대해 하나의 이름을 저장해야합니다. 우편 주소의 일부로 표시 할 이름이 필요합니다. "화면 이름"으로 사용하려면 하나가 필요할 수 있습니다. 사람에게 편지를 개방 할 때 사용해야 할 수도 있습니다. 때로는 사람의 제목과 명예를 포함해야 할 수도 있습니다.

이 경우 표시하려는 것은 단일 문자열입니다. 이 문자열의 구성 요소를 저장하고 나중에 다시 정리하여 노력의 복제를 피할 수도 있고 아닐 수도 있습니다. 그러나 일반적으로 국가 문화와 전문 문화 측면에서 전체 문자열을 저장하는 것이 좋습니다.

BTW는 한 국가의 우편 권한이 다른 국가의 사람에게 우편물을 보내도록하는 국제 표준이 있다는 점을 제외하고는 우편 주소에 대해 크게 발생합니다.

하나의 참고 사항 : "이름"과 "성"이 모두 필요하지 않습니다.

나처럼 어떤 사람들은 이름이 하나뿐입니다.

(증거: http://saizai.com/dl_redacted_small.png)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top