The converter doesn't seem to remove the second byte which is zero. ( 66 00 6F 00 6F 00 equals "foo" ) As far as I know UTF-8 uses only one byte per ascii character. How do I get this thing to remove the zero byte?
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
hex binary dec 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8
9 1001 9 A 1010 10 B 1011 11 C 1100 12 D 1101 13 E 1110 14 F 1111 15
*** How it should be:
ORACLE> #B01100110 ; HEX: 66 102 ORACLE> (char-code #\f) 102
*** How it is
* (select-symtag2) 13:34 0 RDBMS DEBUG About to BEGIN transaction in database #<ORACLE {1002AB8041}> 13:34 0 SQL DRIBBLE SELECT SYMTAG_KEY FROM symtag 13:34 0 RDBMS DEBUG Executing "SELECT SYMTAG_KEY FROM symtag" STYLE-WARNING: Undefined alien: "OCIGetInstantClientPackageName" STYLE-WARNING: Undefined alien: "OCIGetInstantClientPackageName" 13:34 0 RDBMS DEBUG Connecting in transaction #<#<STANDARD-CLASS NIL {10030AFD91}> :begin-executed-p #t {1003E4FDA1}> 13:34 0 RDBMS DEBUG Logging on in transaction #<#<STANDARD-CLASS NIL {10030AFD91}> :begin-executed-p #t {1003E4FDA1}> 13:34 0 RDBMS DEBUG Preparing command: "SELECT SYMTAG_KEY FROM symtag" 13:34 0 RDBMS DRIBBLE Statement is allocated 13:34 0 RDBMS DRIBBLE Retrieving column: name="??????????", type=1, size=44 13:34 0 RDBMS DEBUG Fetching "??????????" from buffer at index 0 13:34 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 ..
#<(AND (VECTOR T 8) (NOT SIMPLE-ARRAY)) {1003F01CBF}> * (setq x *)
#<(AND (VECTOR T 8) (NOT SIMPLE-ARRAY)) {1003F01CBF}> * (elt (elt x 0) 0)
"???" * (elt * 0)
#\U6600 ; this should be the character #\f * (setq y *)
#\U6600 * (char-code y)
26112 ; this should be the char-code 102 *
!DSPAM:4cd1607e48581541520698!
The converter doesn't seem to remove the second byte which is zero. ( 66 00 6F 00 6F 00 equals "foo" ) As far as I know UTF-8 uses only one byte per ascii character. How do I get this thing to remove the zero byte?
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...
cl-rdbms-devel@common-lisp.net