1/ 2차 select 한글 깨짐 관련 문의드립니다.

1/ 2차 select 한글 깨짐 관련 문의드립니다.

QA

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 로 변경해서 작업해보세요

답변을 작성하시기 전에 로그인 해주세요.
전체 59
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT