找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 4422|回复: 21

[webOS开发] 关于pre/pixi的短信进不去问题,今天总算碰到了。。。

[复制链接]
发表于 2010-11-25 15:21 | 显示全部楼层 |阅读模式
早想整一下这个问题了,一直没样本,短信太少。
& @- \* H% a* d: {今天终于收到这样一个垃圾短信,可以分析一下了。
+ n# f) L" [8 w9 c8 [# [  B2 U4 C/ d短信存在sqlite3数据库里,文件是/var/luna/data/dbdata/PalmDatabase.db3 ,: T0 u  n% T+ u/ x
其中有两个表涉及短信内容,  D( _$ ]7 f; ?( @' f: t. n/ K
一个是com_palm_messaging_data_ChatThread,这里的summary字段保存的是短信对话最后一条
  v6 t1 u, ]4 h/ l5 T8 D另一个是com_palm_pim_FolderEntry,这里的messageText字段保存的是所有来往短信1 B9 @6 b7 k- n3 I# a$ L
其中,如果com_palm_messaging_data_ChatThread表有问题,会使整个短信程序都进不去,
5 y* i  e3 l9 g$ I+ p# b, n因为这个只保存最后一条,因此再接收/发送到出问题的这个号码就会把原来有问题的覆盖掉,这样短信程序就可以进去了,: W1 Y3 s% L# H! K& v
但由于com_palm_messaging_data_ChatThread里还有出问题的短信,因此还不能显示与这个号码的详细住来,其他人的没问题。
/ Q. A% s! w$ d8 P对于我收到的这条短信,问题在于,其中包含一个非法的UTF8字符,十六进制为“E280A9”,
6 W  |$ b: c/ {查下表,这个位置没有任何对应的字,
- D0 o) a) y. Z! O6 M4 i) f: {6 S4 }是不是还存在其他的非法字符,就不知道了,手上只有这一个样本。/ E. u1 R7 u3 \, g# H- o7 Q: ~
于是,解决的方式就是,将这三个字节删除,或者替换为别的就没问题了。
* l( A% m" A- p& s7 ~进一步如何自动化解决?
2 F( J; d1 w# x9 H) v一个可行的想法就是写一个小程序,做这个替换工作,每次进不去短信的时候就运行一下。
, k$ c7 u* J, [( j0 F另一个不很可行想法就是看看是谁在写这个短信数据库,是不是能直接过滤一下再写,有很大可能涉及到底层服务。2 i( O7 H3 x# c  A3 `7 I2 ^; m
再一个可行想法就是死等webos2.0,底层服务重写过了,应该再没这毛病了吧?
2 l5 w6 x* V, i+ o附两个SQL语句,可以快速定位出错的条目

  1. ! r& o; c/ Z9 l$ F+ j7 a) {7 u
  2. SELECT messageText FROM com_palm_pim_FolderEntry WHERE messageText LIKE X'25E280A925'
    " [9 C/ O) R. c- ?- B* Z( c8 O9 |  k
  3. SELECT summary FROM com_palm_messaging_data_ChatThread WHERE summary LIKE X'25E280A925'
    1 g4 S- Z1 l& Z' _# |
复制代码

评分

参与人数 2威望 +15 收起 理由
2b6c3d729918489 + 5 谢谢分享
CyberVsQ + 10 谢谢分享

查看全部评分

回复

使用道具 举报

发表于 2010-11-25 19:20 | 显示全部楼层
虽然看不太懂,但必须支持
回复 支持 反对

使用道具 举报

发表于 2010-11-26 10:11 | 显示全部楼层
这是一条什么样的短信?
回复 支持 反对

使用道具 举报

发表于 2010-11-28 20:02 | 显示全部楼层
SELECT summary FROM com_palm_messaging_data_ChatThread WHERE summary LIKE X'25E280A925'
* {+ E0 ~/ o5 H- x" t6 S2 o6 Q: u# h8 J% n2 ^" c
最后用这条命令找出了有问题的短信,解决了。。。。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2010-11-29 09:41 | 显示全部楼层
非常希望有人能做个小软件,能删除短信数据库中的非法字符,每次要连上电脑再去编辑删除,非常耗时耗力。, g* e% Y4 l0 t6 v: D1 _; `
有些朋友就喜欢发点祝福短信,经常会带一些非法字符,搞的很崩溃。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-29 20:09 | 显示全部楼层

打算近期搞一下这个短信Fix

需要样本,有人有能力发出这样的BUG短信么?
回复 支持 反对

使用道具 举报

发表于 2010-11-29 20:41 | 显示全部楼层
希望大家关注一下,有能力发出BUG短信的,联系下楼主,马上要过节了,过节祝福短信含BUG的比例很高。到时候不是那么方便进入数据库删除的。
回复 支持 反对

使用道具 举报

发表于 2010-12-2 21:22 | 显示全部楼层
这个问题可真是个问题
回复 支持 反对

使用道具 举报

发表于 2010-12-3 00:44 | 显示全部楼层
3P也有这个问题吗?看来要考虑考虑了
回复 支持 反对

使用道具 举报

发表于 2010-12-3 11:11 | 显示全部楼层
看不懂啊,太深了
回复 支持 反对

使用道具 举报

发表于 2010-12-3 14:24 | 显示全部楼层
这深了。。希望有高手解决
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2010-12-4 21:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2010-12-5 00:04 | 显示全部楼层
这个问题之前跟snowmonkey也探讨过,那时候得出的结论是短信内容导致json的解析出错
回复 支持 反对

使用道具 举报

发表于 2010-12-5 00:22 | 显示全部楼层
刚刚找个有问题的数据库搜了一下,确实是有 '25E280A925' 这
回复 支持 反对

使用道具 举报

发表于 2010-12-9 19:29 | 显示全部楼层
看了半天没看懂,到底怎么打开讲的这个数据库呢?命令到底该怎么用呢?我进入u盘模式没找到相应数据库,请各位老大帮帮忙,谢谢!
回复 支持 反对

使用道具 举报

发表于 2010-12-16 23:02 | 显示全部楼层
我应该也是非法字符造成的短信问题
: Y, [, s' [" y  i. a1 p- {, p之前以为是长短信问题,后来发现仅仅是哪一条有问题。
) r+ Z( D8 o/ M; C  t不过还好,删除那个人名下的短信问题就解决了
回复 支持 反对

使用道具 举报

发表于 2010-12-18 12:17 | 显示全部楼层

最惨烈的解决办法!

打开internalz   ,找到var/luna/dat/dbdata目录下,直接删除Palmdatabase.db3文件。。好处是简单方便,适合新手。
* I, T1 P# D( v6 {坏处是,短信,,,和,,,说有的记录电话号码全没啦!
回复 支持 反对

使用道具 举报

发表于 2010-12-19 12:06 | 显示全部楼层
我这里测试了一下 让NOKIA N86 手机发一条带回车符的短信过来就会崩溃 哈哈
回复 支持 反对

使用道具 举报

发表于 2010-12-22 23:27 | 显示全部楼层
有点乱 ......
回复 支持 反对

使用道具 举报

发表于 2011-1-11 00:18 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2011-10-15 16:18 来自手机 | 显示全部楼层
不懂..有奔迈per手机的高手吗?诚找有心师傅..qq360346272
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2011-10-17 14:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2024-12-22 16:12 , Processed in 0.342217 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表