乱码有两种情况:1. 通过xml定义的文字显示正常,但是从数据库读出的文字不正常。(比较少见)2. 通过xml定义的文字显示正常,从数据库读出的文字也正常,但是末尾有方块乱码。3. 通过xml定义的文字显示不正常。解决方法:1. 数据库连接以后,先执行一下“set names 'utf8';”或者gb23122. 替换读取出来内容的“\r”。如str.replace("\r", "");3. java源文件编码不正确。通常情况是要修改一下源文件的编码。识别方法:在源文件点右键,properties,找到Resource,在右侧找Text file encoding,选择另一个,如果正常了,说明文件编码与工程编码不一致,需要使用其他软件修改编码格式,如notepad++、UltreEdit32程序读取数据库正确就行了,你除非用sqlite管理软件,否则通过命令行得到的数据都会乱码,因为你sqlite默认就是utf8编码,而命令行都是gb2312编码。cmd命令方式输入的都是gb2312编码。你插入的数据要和你显示需要的编码匹配。