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

KCP + UTF-8 개별결제 처리결과 result.php 한글 깨짐 현상이 있습니다. 채택완료

해피정 7년 전 조회 7,898

KCP 결제창을 독립적인 창으로 연결해서 테스트중입니다.

영카트와 별도로 kcp 에서 다운받은 샘플 모듈 ( 2018-01-16 배포)을 이용해서 처리를 했습니다.

2016-12-01 플러그인 설치 없이 표준 웹 결제창을 이용한 모듈을 배포하였고, 그것을 이용했습니다.

 

utf-8 , 32비트 OS,  등의 조건으로 결제후 result.php 에서 결제 결과를 다음과 같이 받았습니다.

 

 

result.php 에 아래와 같이 euc-kr 을 utf-8 로 변경 처리를 했습니다.

    $res_msg     = iconv('EUC-KR', 'UTF-8', $res_msg);    // 결과 메시지
    
    //$good_name     = iconv('EUC-KR', 'UTF-8', $_POST['good_name']);    // 상품명
    $buyr_name     = iconv('EUC-KR', 'UTF-8', $_POST['buyr_name']);    // 구매자명
    
    //$good_name  = iconv("cp949", "utf-8", $_POST['good_name']);
    //$buyr_name  = iconv("cp949", "utf-8", $_POST['buyr_name']);
    
    $card_name     = iconv('EUC-KR', 'UTF-8', $card_name);    // 카드명
    $bank_name     = iconv('EUC-KR', 'UTF-8', $bank_name);    // 은행명
    $depositor     = iconv('EUC-KR', 'UTF-8', $depositor);    // 입금계좌 예금주
    $epnt_issu     = iconv('EUC-KR', 'UTF-8', $epnt_issu);    // 포인트 서비스사
    $cash_yn     = iconv('EUC-KR', 'UTF-8', $cash_yn);    //현금영수증 등록 여부 

 

결과 메시지 등은 이상없이 utf-8 로 한글이 보여지고 있는데요

상품명, 주문자명 은 다양하게 변경해보는데 한글 깨짐이 해결되지 않고 있어서

이것에 대한 경험하신분이 있으신지 조언 부탁드립니다.

 

상품명 :  테스트입니다

로 표시가 되어야 하는데,  글자가 한글자 마다 깨짐으로 표시가 되네요

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
7년 전

$_POST['good_name'] 과 같이 $_POST로 받는 것은 kcp에서 넘어온 값이 아니므로   iconv 하지않아야 합니다

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

해피정
7년 전
아 그차이가 있었군요.
iconv 안해준 상태에서 글자가 중간중간 깨져보이는 현상은 무엇을 확인하면 좋을까요?
디비 저장하고 그것을 다시 가져오는 형식으로 해야하려나.. 고민이네요

댓글을 작성하려면 로그인이 필요합니다.

해피정
7년 전

기록 정리를 위해 댓글 남깁니다.

utf-8 문서에서 euc-kr 전자결제 페이지의 데이타 전송으로 한글 문제는 아래 링크에서 그 실마리를 찾고 해결했습니다.

https://ncube.net/8841" rel="nofollow noreferrer noopener" target="_blank">https://ncube.net/8841

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

그누위즈

균이님의 답변대로

해당 POST로 받은 값들은 이전 form에서 넘어온 값이기 때문에 iconv로 변환하지 않아도 될듯합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

해피정
7년 전
감사합니다. post 로 넘어온값은 iconv 안된 상태에서 중간중간 글자가 깨져보이더라구요
휴... 중간 페이지(pp_cli_hub.php / pp_cli_hub_lib.php ) 도 utf-8 로 변경하고
locale 처리해야하려나... 테스트 해봐야겠네요
// locale ko_KR.euc-kr 로 설정
setlocale(LC_CTYPE, 'ko_KR.euc-kr');

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인