나의질문답

글자형식?질문드립니다.

예쁜꽃이피었으면 2014. 9. 2. 09:26

http://www.phpschool.com/link/qna_other/132392


안녕하세요~ 


php소스코드를 콘솔창에서 실행시키고 출력하고자 합니다. 


function utf8($r) 

    $rs = iconv( "euc-kr","utf-8",$r); 

return $rs; 

} 이렇게 해서 형식을 바꿔주고 


echo urldecode(json_encode(utf8($r))); 

이렇게 해서 출력을 했는데요 



uc655\ubc97\ub098\ubb34\t0.550152\t\ub2e8\ud48d\ub098\ubb34\t0.442087\t\ud658\uc0bc\ub369\uad74\t0.392966\t\uc81c\ube44\uaf43\t0.353669\t\uc790\uc791\ub098\ubb34\t0.314373\t\uac1c\uc554\ub098\ubb34\t0.275076\t\ud53c\ub098\ubb34\t0.275076\t\uc740\ud589\ub098\ubb34\t0.235780\t\ub2e8\ud48d\ubc84\uc998\ub098\ubb34\t0.23 


출력결과가 한글이름과 숫자가 번갈아 가며 나와야 하는데 이렇게 한글이 안보이고 암호처럼되어있습니다. 

이렇게 나오는 경우는 어떤 경우 인가요?






=======> 답1

json_encode는 원래 저렇습니다. (PHP 5.4 이상에서는 한글을 특별히 인코딩하지 않는 옵션이 있음) 

JSON은 화면에 그냥 뿌리는 것이 아니라 자바스크립트 변수에 담아서 쓰라고 있는 거예요. 

한번 자스를 거치면 정상적으로 나옵니다. 


틀림: 

    <?php echo json_encode($r); ?> 


맞음: 

    <script> 

        var r = <?php echo json_encode($r); ?>; 

        alert(r); 

    </script>

반응형