|
|
|
Android ช่วยเข้ามาดูทีคับ ดึงข้อมูลจาก SQLite ในส่วนภาษาไทยมาแสดงไม่ได้ครับ |
|
|
|
|
|
|
|
ผมมี Table ชื่อว่า food_type ที่สร้างจาก DB Browswer for SQLite แล้วใน Record ข้อมูลผมเป็นภาษาไทย
ตอนผม Select ออกมา Show ใน ListView ส่วนที่เป็นภาษาไทยมันไม่ Show อะไรเลยอ่าครับ ถ้าเป็นภาษาอังกฤษก็ยังออกปกติ
ผมใช้โปรแกรม eclipse นะครับ เลยอยากทราบว่าเราต้อง SET ให้เป็น utf8 ไหมครับ ผมลองหาวิธีดูแล้ว ไม่รู้ว่าทำยังไง ท่านไหนรู้ช่วยชี้แนะด้วยนะครับ
Table
ภาษาไทยไม่แสดง
[head][/head]
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "calorie";
// Table Name
private static final String TABLE_FOOD_TYPE= "food_type";
public myDBClass(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// Create Table Name
db.execSQL("CREATE TABLE " + TABLE_FOOD_TYPE +
"(FoodTypeID INTEGER PRIMARY KEY AUTOINCREMENT," +
" FoodTypeName TEXT(100));");
Log.d("CREATE TABLE","Create Table Successfully.");
}
// Select All Data
public String[] SelectAllData() {
// TODO Auto-generated method stub
try {
String arrData[] = null;
SQLiteDatabase db;
db = this.getReadableDatabase(); // Read Data
String strSQL = "SELECT * FROM " + TABLE_FOOD_TYPE;
Cursor cursor = db.rawQuery(strSQL, null);
if(cursor != null)
{
if (cursor.moveToFirst()) {
arrData = new String[cursor.getCount()];
int i= 0;
do {
arrData[i] = cursor.getString(0)
+ " - " + cursor.getString(1);
i++;
} while (cursor.moveToNext());
}
}
cursor.close();
return arrData;
} catch (Exception e) {
return null;
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_FOOD_TYPE);
// Re Create on method onCreate
onCreate(db);
}
Tag : Mobile, Android, JAVA
|
|
|
|
|
|
Date :
2015-01-24 17:05:55 |
By :
l3ios |
View :
2673 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code
private class DatabaseHelper extends SQLiteOpenHelper {
private static final String ENCODING = "UTF-8";
private Context context;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
//DATABASE_NAME is just a name of database
this.context = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(COMMAND_CREATE_TABLE);
//COMMAND_CREATE is just command to create table i.e.
//CREATE TABLE myTable ( _id int...
try {
InputStream inputStream = this.context.getResources().openRawResource(R.raw.my_base_file);
BufferedReader bufferReader;
if (inputStream != null) {
bufferReader = new BufferedReader(new InputStreamReader(inputStream, ENCODING));
String line = "";
while ((line = bufferReader.readLine()) != null) {
db.execSQL(COMMAND_INSERT_START + line + COMMAND_INSERT_END);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS myTable");
onCreate(db);
}
}
public Cursor fetchAllRows() {
SQLiteDatabase localSQLiteDatabase = this.sqlDatabase;
return localSQLiteDatabase.query("myTable", ROWS_COLUMNS_NAME, null, null, null, null, null);
}
|
|
|
|
|
Date :
2015-01-24 18:30:51 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|