2010-11-25 12 views

Respuesta

17

Dado que sqlite única compatible con UTF-8 y UTF-16 como las codificaciones, se habría dado cuenta si Android sería crear bases de datos en algo que no sea UTF -8. sqlite3_open predeterminado para crear la base de datos en UTF-8, y eso es lo que es probable que use Android.

3

Necesitas hacer uso de la encoding PRAGMA:

PRAGMA encoding = "UTF-8"; 
+0

Todavía me da este error: E/Database (1776): Failure 1 (cerca de "PRAGMA": error de sintaxis) en 0x217230 al preparar 'CREATE TABLE list (id entero primary key, name text not null, sort_order integer not null, is_header entero (1) no nulo) PRAGMA encoding = "UTF-8"; ' – dan

+0

Creo que el error anterior se debe a que no puede usar la instrucción PRAGMA al crear una tabla; debes usarlo mientras creas la base de datos. El problema es que no creo la base de datos, Android lo hace bajo el capó. Entonces, ¿cómo puedo decirle a Android para crear la configuración de la base de datos UTF-8 – dan

+0

Otra pregunta. ¿Cuál es el juego de caracteres predeterminado para Android y SQLite? Tal vez ya sea UTF-8, y eso explicaría por qué no he encontrado mucha información sobre el tema en Internet. – dan

1

De forma predeterminada, Android SQLite usa UTF-8. Tuve el mismo problema con los caracteres especiales, pero porque cuando llené la base de datos en el primer inicio usé un archivo txt con otro juego de caracteres.

+1

Si completa algunos datos predeterminados o ficticios de la clase java, asegúrese de que esta clase Java esté codificada en UTF-8. –

Cuestiones relacionadas