[Seaside] Accented characters

Philippe Marschall philippe.marschall at gmail.com
Tue Jul 25 19:48:55 UTC 2006


2006/7/25, Philippe Marschall <philippe.marschall at gmail.com>:
> 2006/7/24, Damien Cassou <damien.cassou at laposte.net>:
> > Avi Bryant wrote:
> > >
> > > On Jul 24, 2006, at 7:45 AM, Damien Cassou wrote:
> > >>
> > >>
> > >> How is it possible that nobody cares about accented characters within
> > >> Seaside ?
> > >
> > > Speaking for myself: I certainly care about them, but I use Squeak 3.7.
> > > The UTF-8 support from 3.8 mostly tends to complicate the issue (of
> > > course, accented characters don't show up correctly in inspectors etc,
> > > but that's a price I'm willing to pay).
> > >
> > > I'm surprised things are now broken in 3.8/3.9, however - WAKomEncoded
> > > *used* to work, didn't it?
> >
> > Everything seems to work in 3.8 if you use WAKomEncoded. However, in 3.9
> > neither WAKomEncoded (which answers Invalid UTF-8 input) nor WAKom
> > (which answers a '?') are working.
>
> Ok, the problem is that WAKom already does the utf-8 decoding of the
> input fields (what WAKomEncoded was supposed to do). This is because
> he sends #unescapePercents and this already does the utf-8 decoding in
> 3.9.

There is now Seaside2.6b1-pmm.65 a with an experimental WAKomEncoded
for Squeak 3.9 called WAKomEncoded39. At least your example works.

A few notes about this:
- does (should) not break any existing, working code. This includes 3.8 and 3.7.
- no changes in Squeak or Kom
- no additional code, only this additional class

Getting WAKom to work is a bit trickier. I requires hacks, you can choose where.

if Squeak:
change: #unescapePercents to use latin-1 instead of utf-8
This might break SqueakLand or SmallLand code.

if Kom:
Changes sends from #unescapePercents to
unescapePercentsWithTextEncoding: 'latin-1'
This is not at all portable to 3.8 or 3.7.

Note that these are really just hacks. You might want to use them
internally (they get the job done, for now at least) but they are no
general solution.

And this works for any encoding not just Latin-1. The
Latin1TextConverter just happens to the text converter that does not
decoding.
(Yeah, really great name)

Philippe


More information about the Seaside mailing list