KCP + UTF-8 개별결제 처리결과 result.php 한글 깨짐 현상이 있습니다.
본문
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
$_POST['good_name'] 과 같이 $_POST로 받는 것은 kcp에서 넘어온 값이 아니므로 iconv 하지않아야 합니다
균이님의 답변대로
해당 POST로 받은 값들은 이전 form에서 넘어온 값이기 때문에 iconv로 변환하지 않아도 될듯합니다.
기록 정리를 위해 댓글 남깁니다.
utf-8 문서에서 euc-kr 전자결제 페이지의 데이타 전송으로 한글 문제는 아래 링크에서 그 실마리를 찾고 해결했습니다.