我把原messagingrouter改成这样(没用附件的),英文短信好像可以了。请试试。
1 G) Z6 N7 V* E1 r" p: Zpublic class TilUtils
. a% W) h4 n) b, U; B- S- [7 ] implements MessagingRouterTilConstants- _. Z7 | M% W6 E/ p
{7 S( c8 I1 Z' O* P. T
省。。。
) j1 B% m8 T6 }) X. x$ N2 {public class TilUtils9 \7 \# _# } _$ @( `0 m7 @1 e
implements MessagingRouterTilConstants' A- h: y) [ y3 R! Z3 r' F' k1 o
{9 @% I/ K3 d- j2 Z6 @
省。。。。0 U! e/ t7 Q) x
case 'b':
$ A- i3 A5 z3 `3 y logger.fine("decodeString: encoding scheme: " + type);
% j4 i2 d6 m) }* A byte[] data = Base64.decode(payload);5 L. t! d/ x' [6 ]
if ((type.equals("bucs2")) || (type.equals("bunic")))
. F$ u6 d! F6 m+ m* a try {$ W* x5 O _( L; J D' |) Q3 r2 b
decodedString = new String(data, "UTF-16BE"); s& u8 ?' h7 S
} catch (UnsupportedEncodingException e) {/ K6 N# A) G3 t$ f3 v) [
logger.warning("decodedString: ", e);
" M& I# o8 V8 O" x# U0 w }& o8 M0 `1 @: q0 g% A r
else if (type.equals("bgp7"))
8 c5 C( L1 u, ^' C( {/ o decodedString = GsmFormatCodec.from7BitGsm7(new ByteArrayInputStream(data), data.length);3 y* k, h2 g; ? c& R+ Y
else if (type.equals("bg7"))
4 E8 {/ d9 z9 H0 b K decodedString = GsmFormatCodec.from8BitGsm7(data);
0 E! C$ m3 A& A: o+ S3 G4 o+ c else {- x3 E3 y; |& p& y
logger.fine("TilUtils: decodeString: unknown encoding scheme: " + type);, d# l, ~% z5 w$ M7 g4 H0 I8 A
}
% @ {0 r$ ~9 M0 d0 `1 D! }3 Z, D4 f$ ` |! d, R
省。。。) T2 j& V0 M u+ w6 s/ {4 ]2 r
1 v! j! ]! @3 A- Y$ Y& a
[ 本帖最后由 mfly 于 2009-7-19 02:44 编辑 ] |