Hello,
Some time ago I started to create one web-page with hunchentoot to learn lisp with something practical. So far, so good, my site is almost ready to launch, but I've run into problem I can't find a way to solve.
My site will be in 3 languages - english, russian and estonian. I use postgresql as database backend and clsql to do sql stuff. At first I used latin-1 (I guess it was default) for website and on admin side too. Everything worked like a charm, I could enter russian text and it ended up nicely in database, uploading images worked too.
Problem came up when I needed to display localized dates. I use cl-l10n to do localization. Localized time is made like this:
(format nil "~v,v/cl-l10n:format-time/" "ru_RU" "%e. %B %Y" (get-universal-time)))
This gave error:
Error while processing connection: #\CYRILLIC_CAPITAL_LETTER_YA is not a LATIN-1 character.
So I tried to switch everything to UTF-8 (which would be preferred anyway). (setq hunchentoot:*hunchentoot-default-external-format* :utf-8)
Localized dates and text from database now displayed correctly, but then I couldn't upload binary files from forms, I guess utf-8 and binary don't mix well.
I looked at test.lisp (utf) examples, but seems that my lisp knowledge isn't up to it yet.
Could anyone help me to find solution for this. Either how to get cl-l10n to output correct latin1 localized dates or how to make everything in utf-8 and get form uploads to work.
Thanks in advance, Viljo