1/ 2차 select 한글 깨짐 관련 문의드립니다.
본문
<meta charset="utf-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
<?
function get_selected($field, $value)
{
return ($field==$value) ? ' selected="selected"' : '';
}
$market_arr = array(
'01',
'02',
'03'
);
$market2_arr = array(
'02' => array(
'02_1',
'02_2'
)
);
?>
<!-- <FORM name='areaForm'> -->
<select name="wr_14" id="wr_14">
<option value="">선택</option>
<?foreach($market_arr AS $mVal){?>
<option value="<?=$mVal?>"<?php echo get_selected($wr_14, $mVal); ?>><?=$mVal?></option>
<?}?>
</select>
<?if(!sizeof($market2_arr[$wr_14])) $wr_41_hidden = "display: none;";?>
<select name="wr_41" id="wr_41" style="<?=$wr_41_hidden?>">
<option value="">선택</option>
<?foreach($market2_arr[$wr_14] AS $mk2Val){?>
<option value="<?=$mk2Val?>"<?php echo get_selected($wr_41, $mk2Val); ?>><?=$mk2Val?></option>
<?}?>
</select>
<script>
$(document).ready(function(){
$('#wr_14').change(function(){
var val_14 = $(this).val(),
arr_41 = JSON.parse('<?=json_encode($market2_arr)?>'),
opt_41 = '';
if(val_14 in arr_41){
$('#wr_41').empty();
len_41 = arr_41[val_14].length;
opt_41 = "<option value=''>선택</option>";
for(var i=0; i<len_41; i++){
opt_41 += "<option value='"+arr_41[val_14][i]+"'>"+arr_41[val_14][i]+"</option>";
}
$('#wr_41').append(opt_41);
$('#wr_41').show();
}else{
$('#wr_41').val('');
$('#wr_41').hide();
}
});
});
</script>
meta charset utf -8 일때 와 환경 utf-8 일때는 정상적으로 1차 메뉴 선택시 2차메뉴가 잘나오는데
meta charset euc-kr 이 일때와 ansi 일떄는 작동하지 않는데 무슨문제일까요.
!-->답변 4
웹페지와 db설정이 인코딩이 안맞는듯 합니다.
php코드 db쿼리 부분에 한번 넣어보시면 보시면 될겁니다.
대부분 한글 깨짐 원인이 웹페이지 인코딩과 db설정 간에 인코딩이 불일치 해석 그렇습니다.
일맥상통으로 맞춰주시면 될듯합니다.
mysql_query("set names euckr");
db 테이블 인코딩도 확인해 보시면 확실해 지겠네요
SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
AND T.table_schema = "데이터메이스명"
AND T.table_name = "테이블명";
문자 인코딩 차이입니다.
서버 설정시 보통 utf-8 로 많이 사용합니다.
서버에서 지정된 인코딩 외에 다른 인코딩을 지정하면 일부 글자가 깨지게 됩니다.
디비 인코딩도 확인하셔야 됩니다
서버 셋팅이 euc-kr 디비 셋팅이 utf-8 이면
iconv 를 이용해서 디비의 결과를 euc-kr 로 변경해서 작업해보세요
ajax는 utf-8만 지원한다는 말은 들은 적이 있네요.
답변을 작성하시기 전에 로그인 해주세요.