php, mysql 과 안드로이드 연동시 한글 깨지는 이슈


만약 mysql에 들어가는 한글 데이터가 깨진다면


1. 언어 포멧을 모두 동일한것으로 해야한다. ex) UTF-8

1) php

    php.ini 변경 후 처리 (/etc/php5/apache2/php.ini)

     default_charset = "UTF-8"

     

     [아파치 재시작]

      sudo service apache2 restart


2) mysql

    - /etc/mysql/my.cnf 를 아래 내용을 추가하여 charset 을 변경함 

    이후 생성되는 테이블부터 적용됨 (기존 테이블 적용 안됨)


[mysql]
default-character-set = utf8
  
[client]
default-character-set = utf8
  
[mysqld]
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server = utf8
collation-server = utf8_general_ci
  
[mysqldump]
default-character-set = utf8


  - mysql 재시작 

    sudo service mysql restart


  - mysql 설정 후 기존 테이블을 삭제후 다시 생성하든지(추천) 아래 쿼리로 수정한다.

    ALTER TABLE table_name convert to charset utf8;



3) 안드로이드

응답받을때 처리

            HttpResponse response = client.execute(post);
// 받아온 응답으로부터 내용을 받아옵니다.
// 단순한 string으로 읽어와 그내용을 리턴해줍니다.
BufferedReader bufReader =
new BufferedReader(new InputStreamReader(
response.getEntity().getContent(),
"utf-8"
)
);

보낼때 처리

DefaultHttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
HttpParams params = client.getParams();
HttpConnectionParams.setConnectionTimeout(params, 3000);
HttpConnectionParams.setSoTimeout(params, 3000);
post.setHeader("Content-type", "application/json; charset=utf-8");

또는

String xml = "<Placemark><name>Hello! 안녕 とうきょう</name…";

HttpPost httpPost = new HttpPost(SERVICE_URL);

StringEntity entity = new StringEntity(xml, HTTP.UTF_8);

httpPost.setEntity(entity);

httpPost.addHeader("Accept""application/xml");

httpPost.addHeader("Content-Type""application/xml");

HttpClient httpclient = new DefaultHttpClient();

HttpResponse httpResponse = httpclient.execute(httpPost);



9. 참고한 URL

   MYSQL 한글 변경 : http://cusmaker.tistory.com/205


한글깨짐 :

http://mk28.tistory.com/110

android: http://javalove.egloos.com/v/147447

mysql : http://blog.beany.co.kr/archives/405

             http://luckyyowu.tistory.com/279



+ Recent posts