>>> > 12:20 0 RDBMS DRIBBLE Convert from 5, size is 90, content:
>>> > 66 00 6F 00 6F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>>> > 00
>>> > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>>> > 00
>>> > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>>> > 00
>>> > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>>>
>>>
>>> this data is utf-16, babel can deal with that, too.
>>>
>>> i'm looking into installing oracle now, so that i can test it myself...
>>>
>>
>> Hm, the connection encoding is UTF-16. SBCL doesn't support UTF-16.
>> Therefore I have to convert
>> the UTF-16 string with babel to UTF-8 if babel does such a thing.
>
>
>reading this makes me think that you don't have a clear model of lisp
>strings/unicode/encodings.
I probably don't, yes.
>
>i don't remember reading this article, but a quick glance looks
>promising: http://www.joelonsoftware.com/articles/Unicode.html
>
Interesting read, I saw this once but didn't read it. But I did now.
>in short: you need to convert between lisp strings and byte arrays,
>sending/receiving byte arrays to/from the database. the encoding
>needed for OCI, oracle's C interface, is utf-16.
>
Is getting strings in utf-16 at this point a feature or a bug?
Asked another way: Am I supposed to convert utf-16 strings to lisp strings or should that already be in there?
If it were not a bug I would get a byte array instead of a utf-16 string?
Error messages don't show up correctly either e.g. for violations of unique constraints?
On the other hand, this being a feature would makes sense when thinking about where the data is supposed to be seen,
the major web browsers. Assuming the major web browsers support utf-16.
But then, how do I go about manipulation utf-16 string data with sbcl.
Do I have to take a harder look at babel or flexi-streams?
>utf-8 is nowhere in the picture (if not the encoding emacs/slime uses
>to communicate with the cl process).
>
Isn't sbcl able to use utf-8 to represent its lisp strings?
Babel isn't able to convert between utf-16 and utf-8, yet? Confusion reigns ...
ORACLE> (let ((octet-array (make-array 6 :element-type '(unsigned-byte 8)
:initial-contents (vector #X66 #X00 #X6F #X00 #X6F #X00))))
(babel:octets-to-string octet-array :encoding :utf-8))
"f@^o@^o^@"
ORACLE>
Regards,
chris
>--
> attila
>
>
!DSPAM:4cd1af6448581812115720!