api 한글깨짐 문제 발생

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
api 한글깨짐 문제 발생

QA

api 한글깨짐 문제 발생

본문

안녕하세요, 페이지에 api 가져오는 방법 테스트 중입니다... 그런데 값은 가져와지는데 가져오는 도중 한글 깨짐 현상이 발생하는데 3일을 해결하려고 해도 해결되지 않아 이렇게 질문글 올립니다.

 

write_update.skin.php


        // 적조 api 가져오기
        $.ajax({
            url: "/bbs/API/grow_environment_get_api.php",
            type: "POST",
            data : {
                date : measure_date_replace,
                code : fishery_science_service_key
            },
            async       : false,
            contentType : "application/json; charset:UTF-8",
            success : function(res) {
                console.log("적조데이터",res)
                $('#red_tide_box').append(res)
            },
            error : function(err){
            alert(err)
            }                                
        });

 

bbs 안에 서버 연결을 위한 파일을 만들어 작업하고 있습니다

bbs/API/grow_environment_get_api.php


$date = $_POST['date']; // 검색하고자하는 데이터 날짜를 동적으로 가져오기 위한 변수
$code = $_POST['code']; // 페이지의 인증키 값을 동적으로 가져오기 위한 변수
 
$ch = curl_init();
$url = 'https://www.nifs.go.kr/OpenAPI_json?id=redtideList'; /*URL*/
$queryParams = '&' . urlencode('key') . '=' . $code ; /*Service Key*/
$queryParams .= '&' . urlencode('sdate') . '=' . urlencode('20211101'); /**/
$queryParams .= '&' . urlencode('edate') . '=' . urlencode('20220526'); /**/
 
curl_setopt($ch, CURLOPT_URL, $url . $queryParams);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($ch);
// $object = simplexml_load_string($response);
curl_close($ch);
var_dump($response);

 

국립수산과학원의 open api의 값은 뜨는데 한글이 깨지는 현상 문제입니다...

이 질문에 댓글 쓰기 :

답변 3

안녕하세요?

질문을 읽고 nifs.go.kr에 가입하여 API를 테스트해봤습니다 ^^

 

해당 API에서 XML로 받으면 선언부에서 인코딩이 EUC-KR임을 확인할 수 있습니다.

990718968_1654250048.7261.png

 

JSON으로 받은 후 파일로 저장하여 에디터에서 UTF-8로 읽으면 한글이 깨지지만

EUC-KR로 읽으면 정상적으로 로딩되는 것을 확인할 수 있습니다.

990718968_1654250059.1347.png

 

따라서 EUC-KR -> UTF-8로 인코딩 변경이 필요합니다.


$result = iconv("EUC-KR", "UTF-8", $response);

 

정부기관 API 관련 질문은 언제든지 환영이에요~!

그럼 문제를 잘 해결하시고 즐거운 불금 되세요 ^-^

bbs/API/grow_environment_get_api.php 파일이 UTF-8 로 인코딩 되어 있지 않다면,

별도의 사본파일 백업 후,

UTF-8 로 인코딩하여 저장/확인해 보면 어떨까 싶습니다. https://m.blog.naver.com/jessol/220323633253

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

회원로그인

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