Encoding problems
Nicolas Neuss <[email protected]>
| Newsgroups | gmane.lisp.clsql.general |
|---|---|
| Organization | KIT Karlsruhe |
| Message-ID | <[email protected]> |
Hello,
I have a database in LATIN1 encoding:
neuss@tell:~$ psql -l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-----------+----------+----------+------------------+------------------+-----------------------
courses | neuss | LATIN1 | de_DE.iso-8859-1 | de_DE.iso-8859-1 |
Accessing it with CLSQL I observe
* It works with the :postgresql db type, however this interface is
somewhat unstable (SBCL drops in ldb at some place), and the reason
that it works is that CFFI:*DEFAULT-FOREIGN-ENCODING* is :utf-8.
(with-database-connection
(lname (first (select 'student :where [= [id] 713479] :flatp t))))
=> "Böhme"
* It does not work with :postgresql-socket db type (because I have
set SB-IMPL::*DEFAULT-EXTERNAL-FORMAT* to :latin-1)
(with-database-connection
(lname (first (select 'student :where [= [id] 713479] :flatp t))))
=> "Böhme"
* It works setting SB-IMPL::*DEFAULT-EXTERNAL-FORMAT* to :utf-8
(let ((SB-IMPL::*DEFAULT-EXTERNAL-FORMAT* :utf-8))
(with-database-connection
(lname (first (select 'student :where [= [id] 713479] :flatp t)))))
=> "Böhme"
So: Why is my database accessed with UTF-8 encoding? And how can I
change this? [I would like to stay with LATIN1 external format, because
my web pages (served by Hunchentoot) are in that encoding.]
Thank you,
Nicolas