마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 PHP MYSQL 한글깨짐 문제좀 봐주세요.

0 추천

안녕하세요.

HttpClient이용하다가 HttpURLConnection 로 바꿔서 안드로이드, php, mysql 데이터 전송중인데요.

httpClient로 할때는 한글깨짐이 없었는데 HttpURLConnection으로 바꿔서 코딩을 하니 한글이 깨져서 나와요...

혹시 잘못된곳있는지좀 봐주시면 감사하겠습니다.

 

//httpClient

HttpClient client1 = new DefaultHttpClient();
HttpPost post1 = new HttpPost(postURL1);
MultipartEntity reqEntity1 = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity1.addPart("userName",new StringBody(mString, Charset.forName("utf-8")));
post1.setEntity(reqEntity1);

 

//HttpURLConnection

HttpURLConnection conn1 = null;
DataOutputStream dos1 = null;

conn1 = (HttpURLConnection) uri.openConnection();

conn1.setDoInput(true); // Allow Inputs
conn1.setDoOutput(true); // Allow Outputs
conn1.setUseCaches(false); // Don't use a Cached Copy
conn1.setRequestMethod("POST");
conn1.setRequestProperty("Connection", "Keep-Alive");
conn1.setRequestProperty("ENCTYPE","multipart/form-data");
conn1.setRequestProperty("Content-Type","multipart/form-data;boundary=" + boundary);
conn1.setRequestProperty("uploaded_file", mfileNameList.get(position));
conn1.setRequestProperty("uploaded_file1",mfileNameList.get(position));

dos1 = new DataOutputStream(conn1.getOutputStream());
// 일반 텍스트 전송(String) 1
dos1.writeBytes(twoHyphens + boundary + lineEnd);
dos1.writeBytes("Content-Disposition: form-data; name=\"userName\"" + lineEnd);
dos1.writeBytes(lineEnd);
 dos1.writeBytes(userName + lineEnd);
dos1.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

 

//php 받는 부분

$userName = iconv("utf-8", "euc-kr", $_POST['userNo']);

 

php문 바꾸지않고 안드로이드 부분만 바꿔서 한글 제대로 입출력되게 하는 방법 있을까요???

익명사용자 님이 2016년 2월 23일 질문
보낼떄... utf-8로 인코딩 해서 보내야 할것 같은데요?
URLEncoder.encode(string, "utf-8")로 인코딩 한 후 보내보세요..
그렇게도 해봤는데 똑같아서요 ㅠㅠ
그런데 보낼떄 userName으로 보내고, 받을때 userNo로 받고 계시는것 같은데요 ..?
content-type부분에 charset=utf-8 추가해보시기 바랍니다..
conn.setRequestProperty("Content-Type", "multipart/form-data;charset=utf-8;boundary=" + boundary);
이렇게 해줘도 안되는데....ㅠㅠ왜그럴까요...
userNo는 확인해봤는데 제가 여기다 잘못쓴거같아요....무슨수를 써봐도 안되네요....utf-8로 보내면 제대로 되야되는거같은데.....

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...