테스트 사이트 - 개발 중인 베타 버전입니다

js와 php를 배열로 연결하기 입니다.

· 9년 전 · 337

<?php
$list =array(array('a'=>'b', 3, 4, 'bb'));
);
?>
이거를 자스에 그대로 넘겨서 자스에서도 배열로 사용하고 싶다면,

<script>
var  list = <?= json_encode($list);?>

for(var i = 0;i<list.length;i++)
{
}
</script>

이런식으로 자연스럽게 php 배열을 자스로 넘겨 줄수 있더군요.

문제는 json_encode 함수가 php5 부터 지원된다는 거 하고

json_encode() 함수가 내부적으로는 utf-8로 작동 하는듯 합니다.

즉 파일 인코딩이 ansi 로 되어져 있는경우에 한글로 된 값들은 전부 출력이 안되더 군요.
그래서 값을 넘기기 위해서는 한글로 되어져 있는 것들을 utf-8로 변환 해줘야 합니다.

<?php
function change_encode(&$val, $key)
{
if(is_array($val))
{
array_walk($val, "change_encode");
}
$val = iconv("euckr", "utf-8", $val); // 반대인가. 헷갈리네요.
}

 array_walk($list, "change_encode");

?>

이렇게 하면 잘 작동하더군요.  

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
12181
12180
12179
348
12178
12177
12176
12175
12174
12173
12161
12160
12159
12158
12157
12156
12155
12154
12151
12150
12149
12148
12147
12146
12144