- 主题:[请教]关于sqlite的中文查询
select * from table where hex(key)=hex("举例");
试试看.
【 在 fairystory28 (无敌大能猫~~) 的大作中提到: 】
: 网上找了一圈也没找到有用的信息,看看这里能不能遇到大虾帮忙解惑,先谢过~
: 一个产品开发,用的sqlite数据库,就是直接读磁盘文件的这种形式,现在想用中文作为关键字查询 比如:select * from table where key='举例';查不出结果...
: 把.db文件转化成UTF8也不成,有人知道如何解决吗?
: ...................
--
修改:mpyu FROM 221.223.72.*
FROM 221.223.72.*
不会吧,我这边都是这么写的,你那用的是sqlite3么?
【 在 fairystory28 (无敌大能猫~~) 的大作中提到: 】
: 谢谢终于有人理我了 T_T
: 有语法错误:SQL error: no such function: hex
: 好似不认识hex..
: ...................
--
FROM 221.223.72.*
[root:~]# sqlite3
SQLite version 3.6.10
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
【 在 fairystory28 (无敌大能猫~~) 的大作中提到: 】
: 弱弱地问一句...怎么能知道用的sqlite 的版本号...
sqlite> select typeof(key),key from t;
text|举例
blob|举例
integer|1
text|1
blob|1
sqlite> select typeof(key),key from t where key=X'BED9C0FD';
blob|举例
sqlite> select typeof(key),key from t where key="举例";
text|举例
sqlite> select typeof(key),key from t where hex(key)=hex("举例");
text|举例
blob|举例
sqlite>
【 在 fairystory28 (无敌大能猫~~) 的大作中提到: 】
: 谢谢终于有人理我了 T_T
: 有语法错误:SQL error: no such function: hex
: 好似不认识hex..
--
修改:mpyu FROM 221.223.72.*
FROM 221.223.72.*
sqlite没有编码这一说吧.
你塞进去的是什么,取出来的就会是什么,db不负责给你转码.
额,你可以 file data.sql 看看,再看看export|grep "LC\|LANG"
【 在 fairystory28 (无敌大能猫~~) 的大作中提到: 】
: 你的.sql文件是什么格式?
: 我的应该是ASCII,然后用sqlite data.db < data.sql 这样生成的.db文件
: 用别的条件查询出来的中文结果都是
: ...................
--
FROM 221.223.72.*
看看你的终端,local,以及数据库文件编码是否一致.
【 在 fairystory28 (无敌大能猫~~) 的大作中提到: 】
: 我用UltraEdit看是正常的中文显示,可在命令行执行显示的就是乱码了...
--
FROM 221.223.72.*