VCard and roster in UTF.

Aleksey Luzin subscr at p34.net
Fri Mar 21 07:46:05 UTC 2008


I've fixed this issue by adding 'use bytes' pragma into 
DJabberd::Connection class.
This was not issue in SQLite, because in DJabberd::Connection->write() 
function was one data but right on enter into function 
Danga::Socket->write() function data was different.


Brad Fitzpatrick wrote:
> You have a minimal test that shows corruption going through Danga::Socket?
>
> I thought this was fixed awhile ago, and I thought the issue was in 
> SQLite.
>
> Do you know how Unicode works in Perl?  (with the SvUTF8 flag?)
>
>
> On Fri, Mar 14, 2008 at 4:31 AM, Aleksey Luzin <subscr at p34.net 
> <mailto:subscr at p34.net>> wrote:
>
>     Hello,
>
>     I have a problem with data in VCard which stored in Russian,
>     I see that data saved correctly in my db, but when I retrive my vcard
>     from server I see that everything was in russian is broken.
>     I've investigate this issue a little and found that data changed
>     on call
>     function write of module Danga::Socket. Also I've found in front
>     of this
>     module pragma use bytes;
>     When I comment out this line, I've got correct vcatds but start
>     got the
>     following error when sending messages in russian:
>     6354 ERROR DJabberd.Connection.ClientIn             1 disconnected
>     DJabberd::Connection::ClientIn=ARRAY(0x8e6f9fc) because: Wide
>     character
>     in syswrite at Danga/Socket.pm line 1034.
>
>     How I can fix this issue?
>
>
>
> !DSPAM:47e31640160398165083049! 



More information about the Djabberd mailing list