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

js, php 배열 연결

· 12년 전 · 2432 · 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년 전
감사합니다.

게시글 목록

번호 제목
18790
JavaScript 공백제거
18788
18786
18783
18780
18769
5549
27272
27267
30785
30782
27264
18767
18765
18764
18763
5546
18760
18758
18755
18752
27256
27247
5539
18750
27244
27243
18749
18747
18745
18741
18740
18738
18731
18730
27240
5535
18728
18726
18724
5532
26500
27237
5529
30776
18721
20725
27232
18719
JavaScript 퀵메뉴 1
18717
18714
18712
18709
27213
27200
18706
18704
18702
18701
18700
18698
18697
18696
18694
5525
27199
18691
5515
5510
5501
18690
18687
5496
18686
18676
26496
18675
30773
18671
30767
18667
18658
18650
18648
5494
5490
20705
5485
18645
27194
20684
18642
5482
27185
5478
5473
5467
18636
5462
5443