[Openmcl-devel] encoding/decoding clozure strings to/from UTF-8
Karsten Poeck
Karsten.Poeck at gmail.com
Tue Dec 30 14:30:43 PST 2014
>
> I'm trying to do this in with the cl-http web server, so my own code doesn't create the stream, that's done in the background somewhere by cl-http. Anyone know how to make it work in that context?
>
Regarding cl-http, which port are you using?
I did some adaptions to cl-http so that I runs under ccl, Rainer Joswig
has an optimized version.
My version is in trunk/contrib/kpoeck/port-template
Stream creation is done in my port in the following method, I already
added utf-8 there
(defun %wait-for-connection (socket)
(let ((stream (ccl:accept-connection socket :wait t :stream-args
'(:external-format :utf-8))))
stream))
I thought than it might be as easy as:
(in-package :http)
(defmethod test-utf-8 ((url t) stream)
(http:with-successful-response (stream :html :expires
(url:expiration-universal-time url))
(let ((title "Test-UTF-8"))
(with-html-document (:stream stream)
(with-document-preamble (:stream stream)
(declare-title title :stream stream)
(with-document-body (:stream stream)
(write-string "$¢€" stream)))))))
(http:export-url #u"/test-utf-8.html"
:html-computed
:expiration `(:interval 0)
:response-function #'test-utf-8
)
but it seems that somewhere the header content-type is specified as
Content-Type text/html; charset=ISO-8859-1
Will have to digg into this.
regards
Karsten
More information about the Openmcl-devel
mailing list