본문 바로가기

개발도구/SQL, Query, Cloud

[ios] ios -> php -> mysql 한글깨짐

질문)xcode -> php -> mysql 한글을 넣는 과정중 아래의 4가지 설정을 잘 살펴 보았음!! 그래도 안되어 보니...

대답)

1. php에서 meta tag을 이용하여 utf-8 또는 euc-kr 로 설정 

2. ios - [request1 setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];

3. iconv("UTF-8","EUCKR",$mcomment)

4. 저장 파일을 anti 가 아니라 utf-8 로 저장파일!

을 해보아도 간단히 처리되지 않았다. 

다른 블로그에도 위와 같이 4가지 방법을 제시하였다. 경우의 수를 다 따서 해처리 해보아도 안되어 처리한 방법은

xcode - GET 방식이 아닌 POST 로 처리해야 한다. 

NSString *post =[[NSString alloc] initWithFormat:@"mcomment=%@&mwriteuser=%@&mdate=%d%d%d&mcomment_id=%@&mroom_id=%@&mlimit_time=%@&Gubun=%@",field.text,deviceName,thour,tminute,tsecond,@"commnetid",@"roomid",@"mlimit_time",@"comment"];

        NSURL *url=[NSURL URLWithString:@"http://www.xxxxx.com/xxxxx/bb_message.php"];

        NSLog(@"url=%@",url);

        NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding];

         NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

        NSMutableURLRequest *request2 = [[[NSMutableURLRequest alloc] init] autorelease];

        [request2 setURL:url];

        [request2 setHTTPMethod:@"POST"];

NSError *error;

        NSURLResponse *response;

        NSData *urlData=[NSURLConnection sendSynchronousRequest:request2 returningResponse:&response error:&error];

        NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];

        NSLog(@"%@",data);

처리하고 

php(mysql넎기위해 php작업) - mysql_query("SET NAMES utf8") 을 주어 mysql 에 utf8 방식으로 입력시킨다. 


* mysql -> php 한글 호출하면 ??? 이렇게 나올때

디비 호출 다음에 아래의 명령을 넣어준다. 

mysql_query("set session character_set_connection=utf8;");

mysql_query("set session character_set_results=utf8;");

mysql_query("set session character_set_client=utf8;");