Hello Svilen,

good analysis!
This problem has been solved a fews days ago (24/05/2007), you can check the svn repository or download the last release: http://www.restlet.org/downloads/
Thanks a lot for using and promoting the Restlet!

Best regards,
Thierry Boileau

I think I found the problem after digging in the source code.

If I use StringRespresnetation this way:
result = new StringRepresentation(res, MediaType.TEXT_HTML);
result.setMediaType(MediaType.TEXT_HTML);
result.setCharacterSet(CharacterSet.UTF_8);

It doesn't work - because the protected method updateSize() in the
StringRepresentaion is not called if I use the setCharacterSet after
representaion is created.

However, It is called when I use this constructor:
StringRepresentation(CharSequence text, MediaType mediaType, Language
language, CharacterSet characterSet)

The latter constructor updates correctly the content length.

Regards,
Svi

2007/6/26, Svilen Ivanov <[EMAIL PROTECTED]>:
Hi,

I'm building StringRepresentation containing non-English characters in
UTF-8 encoding. The problem is that the Content-Length header of the
response counts the "characters" in the string instead of "bytes". As
you know for non-English characters are represented by 2 bytes. This
makes the length shorter and the client truncates the response. I
tried with both curl tool and firefox browser.

If I manually set the representation content, it works fine - the
content is not truncated.

Do you guys have encountered the problem before? I googled around but
with no luck

Regards,
Svi

P.S. I'm going to present REST architectural style to Annual
Conference for Web Technologies in Bulgaria - WebTech '07
(http://www.wtconferences.com/2007/?q=node/14) and I'll use Restlet
application as demo application.



Reply via email to