2010-11-25 3 views
15

SQLite를 백엔드로 사용하여 Android 애플리케이션을 개발 중입니다.Android에서 SQLite가 UTF-8을 charset으로 사용하는지 확인하십시오.

데이터베이스의 모든 테이블이 UTF-8을 사용하도록하고 싶습니다. 어떻게하면 될까요?

가 나는 시도했다 :

CREATE TABLE myTable (_all_columns_definitions_) DEFAULT CHARSET=utf8; 

하지만 구문 오류가 발생했다. 안드로이드는 UTF 이외의 데이터베이스를 만들 것인지

PRAGMA encoding = "UTF-8"; 

답변

17

을 감안할 때 단지 인코딩으로 UTF-8, UTF-16, 당신이 눈치 챘을 것이다 지원이 sqlite :

3

당신은 encoding PRAGMA의 사용을 만들 필요가 -8. sqlite3_open은 기본적으로 UTF-8로 데이터베이스를 생성하기 때문에 안드로이드가 사용하기 쉽습니다.

+0

여전히 내가이 오류를 제공합니다 : CREATE TABLE list (id 정수 기본 키, name text not null, sort_order integer가 아님)를 준비 할 때 E/Database (1776) : 0x217230의 실패 1 ("PRAGMA" null, is_header integer (1) not null) PRAGMA 인코딩 = "UTF-8"; ' – dan

+0

이전 오류는 테이블을 만드는 동안 PRAGMA 문을 사용할 수 없기 때문에라고 생각합니다. 데이터베이스를 작성하는 동안 사용해야합니다. 문제는 내가 데이터베이스를 생성하지 않는다는 것이다. 그렇다면 어떻게 안드로이드에게 데이터베이스 설정 UTF-8을 생성하도록 말할 수 있습니까? – dan

+0

또 다른 질문입니다. Android 및 SQLite의 기본 문자셋은 무엇입니까? 어쩌면 그것은 이미 UTF-8이고 아마도 인터넷에서이 주제에 관한 많은 정보를 찾지 못했을 것입니다. – dan

1

기본적으로 Android SQLite는 UTF-8을 사용합니다. 특수 문자와 동일한 문제가 있었지만 첫 번째 출시시 데이터베이스를 채울 때 다른 문자 집합과 함께 txt 파일을 사용했기 때문에.

+1

java 클래스에서 dafault 또는 dummy 데이터를 채우는 경우이 Java 클래스가 UTF-8로 인코딩되었는지 확인하십시오. –

관련 문제