[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: BUG REPORT: failed with Chinese charaters (I've fixed it)
From: |
Pawel Kot |
Subject: |
Re: BUG REPORT: failed with Chinese charaters (I've fixed it) |
Date: |
Sun, 15 Oct 2006 20:33:27 +0200 |
Hi,
On 10/12/06, waterser forrest <address@hidden> wrote:
Message received: 0x14 / 0x006e
01 55 00 03 00 01 01 02 00 43 00 00 00 01 00 60 | U C `
44 00 08 60 01 80 02 62 85 23 00 00 00 03 82 10 | D ` b #
01 09 0d 91 68 31 67 31 90 79 f6 00 00 00 82 10 | h1g1 y
02 09 08 91 68 31 08 20 01 05 f0 00 00 00 80 30 | h1 0
2a 15 05 00 03 0f 02 02 6c e8 61 0f 90 fd 67 65 | * l a ge
4e 0d 60 25 4e 86 30 02 53 17 4e ac 73 b0 57 28 | N `%N 0 S N s W(
7a 7f 4e c0 4e 48 88 63 67 0d ff 1f 00 00 | z N NH cg
Received message type 14
Trying to get message # 67 in folder # 2
Type: Deliver
Mobile Terminated message:
Date: 2006-10-08-20-26-58-+0800
Remote number (recipient or sender): +8613761309976
SMS center number: +8613800210500
UDH found
Concatenated messages
Unicode message
注意都来不急了。北京
!!^^^^^^^^^^^^^^^This message is truncated.
!!Let's have a look at the 5th line:
!!2a 15 05 00 03 0f 02 02 6c e8 61 0f 90 fd 67 65
!!2a=2*15 (HEX)
!!Obviously `2a' is the correst length, whereas `15' is just a half.
!!`2a' is block[2] and `15' is block[3]
!!So I'm sure block[2] indicates the correst length.
It turns out that:
block[2] is the number of bytes used to encode the message
block[3] is number of characters stored in the message
It seems to be a bit different in unicode messages. But still it
doesn't explain your case. I suspect it may have something to do with
message being concatenated -- can you find such dependence? How was
this message sent? How many characters does it have? Could you please
print our result (ie size of each character) of char_wctomb()?
The summary is that I need to back out the patch since it breaks
completly non unicode messages. But I'm working on it.
take care,
pkot
--
Pawel Kot