1
我在archlinux和PortableAserve上使用sbcl(1.1.15)來編寫Web應用程序。但是當我使用像「測試」這樣的字符時,我遇到了一些麻煩。關於使用PortableAllegroServe的字符編碼
REPL僅顯示錯誤:出錯30334的值不是類型(UNSIGNED-BYTE 8)。 而瀏覽器什麼也沒有顯示。
這裏是我的代碼:
(defpackage #:com.web
(:use :common-lisp :net.aserve))
(in-package :com.web)
(defun test-character-encode (req ent)
(with-http-response (req ent :content-type "text/html")
(with-http-body (req ent)
(format
(request-reply-stream req)
"測試portableallegroserve"))))
(publish :path "/test" :function 'test-character-encode)
我該怎麼辦,謝謝!
如果一切正常,不要忘記設置相應的內容類型:':內容類型「text/html的;字符集= UTF -8「' – acelent
它不起作用,並且REPL打印相同的錯誤信息。我使用(net.aserve.client:do-http-request「http://127.0.0.1:1234/test」)在端口1234訪問localhost。它顯示錯誤消息:在讀取塊塊時出現意外的文件結束 [SIMPLE-ERROR類型的條件] – tskshy
您是否還添加了content-type:header作爲另一個建議? –