카카오페이 서버에서 통신시 한글 깨짐 문제

   String name = "캐쉬";

   StringBuffer sb = new StringBuffer();
   sb.append("partner_order_id").append("=").append(payLog.payTid).append("&"); //가맹점주문번호
   sb.append("partner_user_id").append("=").append(param.siteSrl).append("&");  //가맹점회원 id
   sb.append("item_name").append("=").append(name).append("&");                 //상품명
   .. 생략 ..
   sb.append("custom_json").append("=").append("");                             //결제화면에 보여주고 싶은 custom message. 사전협의가 필요한 값

   .. 생략 ..
       con.setRequestProperty("Content-length", String.valueOf(sendData.length()));
       con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
       con.setRequestProperty("Authorization", "KakaoAK "+adminKey);
       con.setDoOutput(true);
       con.setRequestMethod("POST");
       con.connect();

       DataOutputStream dos = new DataOutputStream(con.getOutputStream());
       dos.write(sendData.getBytes());
       dos.flush();
       dos.close();

가이드대로 utf-8로 보내는데 한글이 깨져서 나오네요.

charset 을 utf-8 , euc-kr 도 해봤고.
sendData.getBytes() 이부분을 sendData.getBytes(“utf-8”) 또는 euc-kr 조합도 다 했봤는데 여전히 깨지내요…

참 서버 환경은 아래… (서버 환경을 바꿀수는 없어요 ㅠㅠ )
LANG=ko_KR.UTF-8
LC_CTYPE=“ko_KR.UTF-8”
LC_NUMERIC=“ko_KR.UTF-8”
LC_TIME=“ko_KR.UTF-8”
LC_COLLATE=“ko_KR.UTF-8”
LC_MONETARY=“ko_KR.UTF-8”
LC_MESSAGES=“ko_KR.UTF-8”
LC_PAPER=“ko_KR.UTF-8”
LC_NAME=“ko_KR.UTF-8”
LC_ADDRESS=“ko_KR.UTF-8”
LC_TELEPHONE=“ko_KR.UTF-8”
LC_MEASUREMENT=“ko_KR.UTF-8”
LC_IDENTIFICATION=“ko_KR.UTF-8”
LC_ALL=

혹시 상품명(item_name) 파라미터값을 URL Encoding 해도 동일한 현상이 발생하나요?

넵 별차이가 없네요… ㅠ

@drapi98
여기에 name 넣을 때 url encoding해서 보내보시겠어요?

덕분에 잘해결했습니다 감사합니다 :slight_smile: