api 한글깨짐 문제 발생

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

QA

api 한글깨짐 문제 발생

답변 3

본문

안녕하세요, 페이지에 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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로