android어플에서 약 3개정도 String변수를 php서버로 보내면 php서버에서는 그 문자들을 mysql db에 저장을 합니다.
숫자나 영문은 모두 잘 되지만, 한글은 -> 이런 글자로 저장이 됩니다.

php에서는 간단하게
test.php

<?php
include 'mydb.inc';

 $HashTag = $_REQUEST['HashTag'] ;
 $UserId = $_REQUEST["UserId"] ;
 $Content = $_REQUEST["Content"] ;

 mysql_query("set names utf8");


 $sql="insert into smartwiz_question values('id','$HashTag','$UserId','$Content')";
 mysql_query($sql,$conn);
 mysql_close($conn);

?>
이렇게 되어있구요.

android클라이언트 쪽에서는
 private String sendData(String HashTag, String UserId, String Content) throws ClientProtocolException, IOException{
  
  
   // TODO Auto-generated method stub   
  HttpPost request = makeHttpPost( HashTag, UserId, Content, "블라블라블라.test.php" );
  HttpClient client = new DefaultHttpClient() ;  
  ResponseHandler<String> reshandler = new BasicResponseHandler() ;  
   String result = client.execute( request, reshandler ) ;  
  return result ;  
  }
 
 private HttpPost makeHttpPost(String $HashTag, String $UserId, String $Content, String $url) {  
  // TODO Auto-generated method stub  
  HttpPost request = new HttpPost( $url ) ;  
  Vector<NameValuePair> nameValue = new Vector<NameValuePair>() ;  
   nameValue.add( new BasicNameValuePair( "HashTag", $HashTag ) ) ;  
   nameValue.add( new BasicNameValuePair( "UserId", $UserId ) ) ;
   nameValue.add( new BasicNameValuePair( "Content", $Content ) );
  request.setEntity( makeEntity(nameValue) ) ;  
   return request ;  
  }  
   
  private HttpEntity makeEntity( Vector<NameValuePair> $nameValue ) {
   HttpEntity result = null ;
   try {
    result = new UrlEncodedFormEntity( $nameValue ) ;
    } catch (UnsupportedEncodingException e) {  
            // TODO Auto-generated catch block  
             e.printStackTrace();  
       }  
        return result ;  
      }  

이 클래스를 사용하여
sendData(getResultName, UserId ,Content );
이렇게해서 보냅니다.

여기서 궁금한것 몇가지가 더 있는데요,
 1. 이렇게 제가 android클라이언트에서 아무런 인코딩없이 php서버로 보내게된다면
그 문자변수에 들어있는 문자열들은 어떤 형식으로 되어있습니까?(예를 들러 utf-8이러던지 euc-kr이라던지...)
2. 한글이 안깨지려면 어디에서 어떤방식으로 변환을 해야하는지 궁금합니다..

감사합니다. 수고하세요!!

profile

안드로이드를 매우 사랑하는!