안녕하세요.

현재 서버와 데이터를 통신하는 어플개발을 공부하고 있습니다.

현재 어플에서 MultipartEntity를 이용하여 값을 php 서버에 보내고 서버는 그 값을 mysql db에 넣고 있습니다.

그런데 db를 확인해 보면 한글이 깨져 보입니다. 물론 앱에서 다시 받아올때 한글로 받아와 지지만 db에는 한글이 깨져있습니다.

현재 앱에서는


HttpPost post = new HttpPost(JOIN_SERVLET);

post.setHeader("Connection", "Keep-Alive");

post.setHeader("Accept-Charset", "UTF-8");

post.setHeader("ENCTYPE", "multipart/form-data");

MultipartEntity multiPart = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);

multiPart.addPart("id", new StringBody(URLEncoder.encode(id, "UTF-8")));

multiPart.addPart("password", new StringBody(URLEncoder.encode(password, "UTF-8")));

multiPart.addPart("lastname", new StringBody(URLEncoder.encode(lastName, "UTF-8")));

multiPart.addPart("firstname", new StringBody(URLEncoder.encode(firstName, "UTF-8")));

post.setEntity(multiPart);

response = httpClient.execute(post);


utf-8로 encode 하여 보내고 php 서버에서는 

<? php


include 'MemberDAO.php';


$id = urldecode($_POST['id']);

$password = urldecode($_POST['password']);

$lastname = urldecode($_POST['lastname']);

$firstname = urldecode($_POST['firstname']);


$dao = new MemberDAO();

echo $dao->memberJoin($id, $password, $lastname, $firstname);

?>

를 하여 decode하여 데이터를 db에 insert하고 있습니다.

mysql도 모두 확인하였는데 utf-8로 다 저장되어있습니다.

iconv를 이용해 보았지만 여전히 깨지고 있습니다. 

물론 계속해서 진행해도 상관은 없지만 뭔가 찝찝한 채로는 진행하기가 좀 그렇습니다.

많은 관심과 답변 부탁드립니다. 수고하세요~