Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
Re..DB의 한글 데이터 출력중에 한글이 깨집니다
작성자
작성일 2009-01-20 (화) 08:10
ㆍ추천: 0  ㆍ조회: 12968      
IP: 125.xxx.169
무언가 다른 문제가 있나봅니다. 아래의 예제 참고하세요.~
 
 
 
package org.kandroid.sample;
import android.os.Bundle;
import java.util.ArrayList;
import android.app.ListActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.content.Context;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class Sample extends ListActivity {
    /** Called when the activity is first created. */
 private SQLiteOpenHelper mOpenHelper;
 private static final String MY_DATABASE_NAME = "sample.db";
 private static final String MY_DATABASE_TABLE = "sample_table";
    private static final int MY_DATABASE_VERSION = 5;
 
    private static class DatabaseHelper extends SQLiteOpenHelper {
        public DatabaseHelper(Context context) {
            super(context, MY_DATABASE_NAME, null, MY_DATABASE_VERSION);
        }
       
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL("CREATE TABLE " + MY_DATABASE_TABLE + "(" +
                       "_id INTEGER PRIMARY KEY," +
                       "lastname VARCHAR, " +
                       "firstname VARCHAR, " +
                       "country VARCHAR, " +
                       "age INT(3));");
            // insert default alarms
            String insertMe = "INSERT INTO " + MY_DATABASE_TABLE +
                    "(lastname, firstname, country, age) " +
                    "VALUES ";
            db.execSQL(insertMe + "('정수','양','대한민국', 40);");
            db.execSQL(insertMe + "('근식','임','대한민국', 36);");
        }
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {
            Log.v("DB_LOG",
                    "Upgrading " + MY_DATABASE_TABLE + " database from version " +
                    oldVersion + " to " + currentVersion +
                    ", which will destroy all old data");
            db.execSQL("DROP TABLE IF EXISTS " + MY_DATABASE_TABLE);
            onCreate(db);
        }       
    }
    
 @Override
 public void onCreate(Bundle icicle) {
  super.onCreate(icicle);
  
  mOpenHelper = new DatabaseHelper(this);
  
  SQLiteDatabase db = mOpenHelper.getReadableDatabase();
  EditText et = new EditText(this);
  et.setSelection(et.getText().length());
  ArrayList<String> results = new ArrayList<String>();
  
  Cursor c = db.query(MY_DATABASE_TABLE,
       new String[] {"lastname","firstname","country","age"},
       null, null, null, null, null);
  try {
   int lastNameColumn = c.getColumnIndex("lastname");
   int firstNameColumn = c.getColumnIndex("firstname");
   int countryColumn = c.getColumnIndex("country");
   int ageColumn = c.getColumnIndex("age");
   int i = 0;
   
   if (c.moveToFirst()) {
    do {
     i++;
     String firstName = c.getString(firstNameColumn);
     String lastName = c.getString(lastNameColumn);
     String country = c.getString(countryColumn);
     int age = c.getInt(ageColumn);
     results.add("" + i + ":" + firstName + lastName 
       + "(" + country + ":" +age + ")");    
    } while (c.moveToNext());
   }
  } finally {
            if (c != null) c.close();
        }
  this.setListAdapter(new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1, results));
 } 
}
 

=====================================
■ [세인트워터] DB의 한글 데이터 출력중에 한글이 깨집니다!! (2009-01-19 23:00)
 
안녕하세요.(_ _);
얼마전에 Database접근법에 대해 질문드렸던 학생입니다.
그 일은 잘 해결 되었습니다.
 
버스노선 정보이다 보니... 삽입되는 정보도 방대하고... 쿼리 날리는 방법도 새로워서 조금 혼란스러웠습니다.^^;
혹시나, 저와 같은 초보자 분들을 위해서 나중에 정리해서 올리도록 하겠습니당^^;;
들불님께서 말씀해 주신데로 코드상에서 직접 디비도 생성하고 데이터도 넣게 수정하였습니당...흐흐;;
 
그런데,
디비에 접근해서 데이터를 가져오는데,
ui의 텍스트뷰에 뿌릴때 한글이 깨집니다. 영문과 숫자는 정상적으로 가져오는데요.
 
입력된 db는 아스키코드인데 반해,,,
자바에서 가져와 뿌릴때는 유니코드로 작동이 되어서 그러는건가요???
 
안드로이드 기술 Q&A 게시판의 성격과는 조금 차이가 있는거 같지만...
하루종일 고민하고 해보다가 답답해서 이렇게 글을 써봅니다^^;;;;;;;;;;;
 
sqlite에 유니코드로 데이터를 삽입하는 방법은 없나요? 혹은.. 그래도 되나요?? 흐흑;;
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
4553 안드로이드 포팅 질문입니다. 2009-01-13 8136
4552 안드로이드 초보자인데..가계부프로젝트하나 만들고 있거든요... 2009-01-13 9174
4551 폴더에서 이미지파일을 불러오고 싶습니다. 2009-01-13 10674
4550 camera 영상 위에 텍스트 또는 이미지의 overlay 2009-01-13 12461
4549 emulator android browser에서 다운로드 관련 문제 2009-01-13 7891
4548 ScrollView 가로(horizontal) 스크롤바 동작하나요? 2009-01-13 13174
4547 웹상에 있는 image를 나타내고 싶은데요 2009-01-13 8196
4546 binder patch를 어떻게 하는지요? 2009-01-13 7949
4545 Re..웹상에 있는 image를 나타내고 싶은데요 2009-01-13 9401
4544 사로자바님예제소스 제컴터에서 실행이안되요.. 2009-01-14 9166
4543 G1 phone settings > About phone 메뉴 확인부탁 2009-01-14 7677
4542 tty; Job control 2009-01-14 8444
4541 XML 이용한 Layout관하여 질문드립니다. 2009-01-14 9158
4540 Default buffer size used in BufferedInputStream constructor. 2009-01-14 11154
4539 framework에서 다른 activity 띄우는 방법 문의 2009-01-15 8126
4538 이이콘으로 GIF파일 지원안되나요? 2009-01-15 8545
4537 database 접근법에 대해서 여쭤볼게 있습니다. 2009-01-15 8610
4536 G1 구글 액티베이션 가능한 분 없으신가요? 2009-01-15 8220
4535 NetComponents를 이용해 FTP 구현시 서버의 특정 파일에 대한 .. 2009-01-15 9884
4534 [Q] SD 부팅관련 2009-01-15 8159
4533 G1 사용하기 위해서라면...? 2009-01-16 7358
4532 하나의 Activity에 2개 이상의 media player를 넣는게 가능할.. 2009-01-16 9098
4531 안드로이드 기본 app 수정 후 빌드 시 android.jar에 없는 클.. 2009-01-16 11620
4530 Android Marget 질문 2009-01-16 7543
4529 안드로이드 App은 안드로이드 마켓에 올리거나 배포할때 dex .. 2009-01-16 8614
4528 안드로이드 포팅에 대해 질문.. 2009-01-16 8140
4527 안드로이드 해상도 조절 질문있습니다. 2009-01-16 10285
4526 [문의] 터치 관련하여 질문 드립니다. 2009-01-16 11860
4525 커널 컴파일에 관한 질문입니다. 2009-01-16 8777
4524 안드로이드 포팅하시는 분들은... 2009-01-16 7973
4523 XML UI 2009-01-17 7931
4522 안드로이드 S/W 테스트 2009-01-17 8143
4521 안드로이드 Application 인스톨방법 문의 2009-01-18 9280
4520 manifest관련 질문 입니다. 2009-01-19 8006
4519 background로 보내진 activity 불러오기? 2009-01-19 12831
4518 커널 컴파일 질문. 2009-01-19 9647
4517 r.java 파일이 자동으로 수정이 안되요- 2009-01-19 8593
4516 DB의 한글 데이터 출력중에 한글이 깨집니다!! 2009-01-19 8205
4515 Re..DB의 한글 데이터 출력중에 한글이 깨집니다.. 2009-01-20 12968
4514 arm cortex core CPU에도 안드로이드를 포팅 할수있나요?.. 2009-01-20 8549
4513 2.6.21 커널 위에서 안드로이드 실행 시키기? 2009-01-20 8115
4512 resource 수정후 컴파일 에러 2009-01-20 11645
4511 preload app관련 질문입니다. 2009-01-20 11331
4510 커널 컴파일 질문[리눅스 어렵워요 ㅇ.ㅇ; ] 2009-01-20 8646
4509 text or image 이동 2009-01-20 10639
4508 상용화된 App의 업데이트는 어떻게 이루어지나요?.. 2009-01-20 8212
4507 안드로이드에서 Flash Lite포팅관련 질문(공유메모리, JNI).. 2009-01-21 10619
4506 부트로더 라이센스 질문. 2009-01-21 7865
4505 sqlite expert를 사용해서 DB를 만들었는데 이걸 안드로이드 .. 2009-01-21 11645
4504 G1 unlock 문제 ㅠ ㅠ 2009-01-21 8295
12345678910,,,101