닉네임 한글 질문드립니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
닉네임 한글 질문드립니다.

QA

닉네임 한글 질문드립니다.

본문

원래 php 에서 한글은 3byte로 알고있습니다.

register.lib.php 에서

 


function count_mb_nick($reg_mb_nick)
{
    if (strlen($reg_mb_nick) < 4)
        return "닉네임은 한글 2글자, 영문 4글자 이상 입력 가능합니다.";
    else
        return "";     
}

 

에서 한글을 어떻게 2byte로 치는건가요?

이 질문에 댓글 쓰기 :

답변 3

1. utf-8 인코딩 기준으로 1글자가3byte 로 처리됩니다

2. strlen 은 영문기준으로 byte 를 쓰기 때문에 

 

위 함수를 보완하시려면

mb_strlen($reg_mb_nick,'utf-8') 로 처리하셔야 합니다

 

그누보드는 닉네임이 영문,숫자,한글이 혼용되기 때문에

편의를 위해서 4로 한것이 아닐까 싶습니다

그러면 기본적으로 그누보드에서의 닉네임 길이 체크함수는
utf-8 인코딩이 아니라는건가요?

strlen($reg_mb_nick) < 4 에서 한글 2글자 영어 4글자로 처리했으면
한글 1글자당 2byte 로처리했다는건데.

utf-8인코딩에서 한글 1글자가 3byte면 그누보드에서는 어떤 인코딩을 한건가요?

그누보드 기본 인코딩은 utf-8 입니다

strlen 의 경우 아마도 한글,영문,숫자 가 섞여서 닉네임 체크를 해야하니 저렇게 처리한것으로 보입니다 

 

이부분은 버그게시판에 등록하시면 리자 님께서 자세히 설명해주실거 같습니다

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT