sqlite3命令行查看中文乱码问题解决

SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。我们通过程序创建的数据库一般位于/data/data/程序db设置的content类所在的包/databases,在此路径下执行sqlite3 数据库名即可进入到SQL命令行模式,进行数据库操作。

如果不进行设置,采用命令行窗口进行查询的时候,中文显示为乱码。这是因为cmd的默认字符集是gbk,,而sqllite采用的默认编码为utf-8

如果解决这个问题呢,有以下两个办法

【1】命令设置法:

(1)退出dos 或者重新开启在CMD窗口,输入:

chcp 65001

 然后回车确定 
注意 65001 是Unicode (UTF-8) 65001 的编码设置,Chinese Simplified (GB2312) 的设置为936 
(2)在命令行标题栏上点击右键,选择【属性】 -【字体】,将字体修改为【Lucida Console】 确定.选择当前窗口有效或者应用于所有窗口 
【2】注册表设置法:

(1)打开注册表编辑器(regedit),展开到以下位置
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
将CodePage项修改为十进制值
437(英语),
65001(utf-8),
936(GBK)。
这个会使你打开cmd之后的字符集就会为修改之后的。而利用chcp命令更改的字符集,在新打开cmd窗口后会变为默认值。

(2)在命令行标题栏上点击右键,选择【属性】 -【字体】,将字体修改为【Lucida Console】 确定.选择当前窗口有效或者应用于所有窗口 


补充chcp命令的用法:

chcp  作用:切换字符格式
chcp 65001   #换成utf-8代码页
chcp 936       #换成默认的gbk
chcp 437       #美国英语 
一般默认为gbk,
 


sqlite3命令行查看中文乱码问题解决

上一篇:Mysql++


下一篇:数据库查询习题整理(一)