From: Sam S. <sd...@gn...> - 2009-01-22 14:35:25
|
Hi, Frank Schwidom wrote: > > if i read-line from an utf8-file and then make a char-code or char-int > on an utf8 character then the latin1 code is returned. > > what can i do to gain the utf8-code? > > (with-open-file (f "ae-utf8.txt" :direction :input) > (let ((l (read-line f))) > (format t "~s~%" l) ; outputs the utf8 character > (format t "~s~%" (char-code (aref l 0))) ; outputs latin1 code > (format t "~s~%" (char-int (aref l 0))) ; outputs latin1 code > ) > ) latin1 is the same as utf8 on ascii. does your file contain non-ascii characters? note also: http://clisp.cons.org/impnotes/char-sets.html CLISP uses the 21-bit UNICODE 3.2 character set (ISO 10646, also known as UCS-4). http://clisp.cons.org/impnotes/char-int.html The integer returned by CHAR-INT is the same as the character's code (CHAR-CODE). Sam. |