<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">I took a quick look at the request processing and I don't see where utf-8 stuff gets decoded.  AFAICS, it just doesn't do it - thus producing a one byte to a character transformation, but maybe I'm missing something.<DIV>  <DIV>I have done a LOT of this stuff (formerly chief architect at a web I18N company).  There are a few things that are not so intuitive when dealing with encodings and http requests. </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Escape sequences escape bytes, not characters.  </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>On pass 1, you assume you have latin-1, parse the header and get the content-type and associated charset.  Remember this for later translation.</DIV><DIV> </DIV><DIV>Build a byte array from the string by putting ascii characters in as bytes.  Decode escape sequences into single bytes as you go.  </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Convert the byte array to a string by reading bytes and composing them into code points according to the encoding specified as the charset in the content-type.  For utf-8 this means reading a byte, checking the high order bits to find out the length of the byte sequence, then reading the rest of the sequence, composing the code point, etc...</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Now you have text - start over and parse as normal.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Some of these steps can be folded but conceptually, this is how it works.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>So I don't think WAKomEncoding39 is doing the right thing wrt to request processing AFAICS.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>-Todd Blanchard</DIV><DIV><BR><DIV><DIV>On Feb 27, 2007, at 3:26 PM, Philippe Marschall wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">If you run WAKomEncoded39 on Squeak 3.9 you will have strings with</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">(new) Squeak encoding in your image which is basically non-unified</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">unicode. For latin-1 characters this will be indistinguishable from</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica">latin-1.</FONT></P> </BLOCKQUOTE></DIV><BR></DIV></DIV></BODY></HTML>