왜 한글이 깨질까요?
본문
<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();
이런식으로 변경해보세요
?>
!-->
답변을 작성하시기 전에 로그인 해주세요.