잡담/궁금증 해결
jar 파일에 한글 입력하기 (feat. PHP, JAVA)
lms0806
2024. 9. 9. 22:20
728x90
반응형
PHP에서 java로 만든 바이너리인 jar 파일을 실행시킬 때 한글이 깨지는 현상이 발생합니다.
이 경우 -Dfile.encoding=utf-8로 해결되기도 하지만, 특정 서버에서 해결이 되지 않는 경우가 있습니다.
그럴 경우, 발상의 전환으로 '꼭 한글로 보내야 하나?'라는 생각을 해보시면 됩니다.
보내고자 하는 한글 데이터를 특정 문자로 encoding해서 보내면? 이라는 생각을 들게 되어 해당 문제를 해결했습니다.
$data = "안녕";
$cmd = "java -jar app.jar urlencode($data)";
shell_exec($cmd);
와 같이 실행을 하게 되면 "%EC"와 같은 한글을 url에 입력했을 떄 나오는 urlencoding을 거친 데이터가 jar파일에 전달이 됩니다.
String decodeResult = URLDecoder.decode(String args[0], "UTF-8");
해당 데이터를 받은 jar파일에서는 다음과 같이 받은 데이터를 URLDecoder를 통해 한글(UTF-8) 데이터로 변환하면 됩니다.
728x90
반응형