android sqlite 中文乱码问题

bnswdnrz 2011-05-14 11:06:12
数据库和模拟器显示的都是乱码!!!!

下面是代码


package cn.reciteWord.operation;

import android.content.ContentValues;



import android.content.Context;

import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/*
* 创建数据库
*/
public class MyDataBaseAdapter {

public static String DB_NAME = "vocabulary.db";
public static String ID = "_id";
public static String CHA = "chinese";
public static String ENG = "english";
private static String tableName = "vocabulary";
private static int version = 1;
private static final String DB_CREATE = "CREATE TABLE IF NOT EXISTS " + tableName + " (" + ID + " INTEGER PRIMARY KEY," + CHA + " TEXT," + ENG + " TEXT)";
private Context mContext = null;

private SQLiteDatabase mSqLiteDatabase = null; //保存返回的数据库对象
private DataBaseHelper mDataBaseHelper = null;

private static class DataBaseHelper extends SQLiteOpenHelper {


public DataBaseHelper(Context context) {
super(context, DB_NAME, null, version );
// TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(DB_CREATE);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
// 删除以前的旧表,创建一张新的空表
db.execSQL("DROP TABLE IF EXISTS " + DB_NAME);
onCreate(db);

}

}

public MyDataBaseAdapter(Context context) {
// TODO Auto-generated constructor stub
mContext = context;

}

//打开数据库, 返回数据库对象
public void open() throws SQLException{
mDataBaseHelper = new DataBaseHelper(mContext);

}

//关闭数据库
public void close() {
mDataBaseHelper.close();
}

public long insertData(String en, String ch) {
// 插入数据
mSqLiteDatabase = mDataBaseHelper.getWritableDatabase();
ContentValues mContentValues = new ContentValues();
mContentValues.put(ENG, en);
mContentValues.put(CHA, ch);

return mSqLiteDatabase.insert(tableName, ID, mContentValues);

}

public boolean deleteData(long rowID) {
// 删除一条数据
mSqLiteDatabase = mDataBaseHelper.getWritableDatabase();
return mSqLiteDatabase.delete(tableName, ID + "=" + rowID, null) > 0;

}

public Cursor fetchAllData() {
//查询所有数据
mSqLiteDatabase = mDataBaseHelper.getWritableDatabase();
return mSqLiteDatabase.query(tableName, new String[] {ID, ENG, CHA}, null, null, null, null, null);
}

public Cursor fetchData(long rowID)throws SQLException {
mSqLiteDatabase = mDataBaseHelper.getWritableDatabase();
Cursor cursor = mSqLiteDatabase.query(true, tableName, new String[] {ID, ENG, CHA}, ID + "=" + rowID, null, null, null, null, null);

if(cursor != null) {
cursor.moveToFirst();
}
return cursor;
}

public boolean updateData(long rowId, String en, String ch) {
//更新一条数据
mSqLiteDatabase = mDataBaseHelper.getWritableDatabase();
ContentValues mContentValues = new ContentValues();
mContentValues.put(ENG, en);
mContentValues.put(CHA, ch);
return mSqLiteDatabase.update(tableName, mContentValues, ID + "=" + rowId, null) > 0;
}
}
...全文
539 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧