You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用with-open-gzip-file读取UTF-8压缩文件遇乱码问题求助

解决gzip-stream读取UTF-8压缩文件乱码问题

你遇到的乱码是因为gzip-stream:with-open-gzip-file默认使用的外部编码不是UTF-8,导致UTF-8字节被错误解码成了Latin-1(ISO-8859-1),所以出现了abéè这类乱码。

只需在调用with-open-gzip-file时显式指定:external-format :utf-8参数即可解决问题,修改后的测试代码如下:

CL-USER> (gzip-stream:with-open-gzip-file (in "test-utf8.txt.gz" :external-format :utf-8)
           (read-line in))
"abéè"
NIL

with-open-file在多数Common Lisp实现中会自动适配或默认使用UTF-8编码,但gzip-stream包的这个宏没有继承该行为,必须手动指定外部编码,才能保证UTF-8字符被正确解码。

内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 00:25:57