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

js, php 배열 연결

· 12년 전 · 2431 · 5

<?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");

?>

 

댓글 작성

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

로그인하기

댓글 5개

좋아요
12년 전
한수 배워 갑니다. 감사합니다~!
12년 전
공부의길
감사합니다.
12년 전
감사합니다.

게시글 목록

번호 제목
5722
31534
5717
19190
19181
19177
19173
19171
27353
19169
24530
27350
19161
19159
19156
19154
19152
19150
19147
19145
19143
19141
30830
19135
19129
19124
19118
19115
19111
19108
19104
19101
19098
19094
27342
19093
26548
19090
19088
19086
24524
31526
26539
32021
32015
5705
26533
24510
26524
24507
24506
19082
24498
5702
27337
32011
19080
19075
19073
19072
27330
27328
32010
32005
32001
19071
19063
31998
31994
5676
27327
31989
5671
5666
19056
31988
31987
31981
26515
30823
19050
19047
19039
31969
5649
27323
31963
19027
19020
19017
19014
19009
19005
31949
18998
18994
18988
18982
31941
31934