왜 한글이 깨질까요?

왜 한글이 깨질까요?

QA

왜 한글이 깨질까요?

본문

<meta charset="UTF-8">
<?php
function generateRandomString($length = 10) {
    $characters = '가나다라마바사아자차카타파하0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '5';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}
echo generateRandomString();
?>

 

왜 한글 부분이 깨지는 걸까요? 

파일도 utf8 

서버도 utf8

 

한글텍스트만 있을 때 안 깨지는데..... 신기합니다. ㅜㅜ

이 질문에 댓글 쓰기 :

답변 1

문자별로 해당 하는 바이트 단위가 달라 생기는 문제로 알고 있습니다


<?php
function generateRandomString($length = 10) {
$characters = '가나다라마바사아자차카타파하0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = mb_strlen($characters);
$randomString = '5';
for ($i = 0; $i < $length; $i++) {
      $randomString .= mb_substr($characters,rand(0, $charactersLength - 1),1,'UTF-8');
}
return $randomString;
} 
echo generateRandomString();
 
이런식으로 변경해보세요
?>

 

 

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

회원로그인

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