4

私は中国語の Web サイトの Web ページを取得する Lisp プログラムを書いています。バイナリ ストリームから中国語の単語を解析する際に問題が発生しました。それをbabel:octets-to-stringに入れると、例外がスローされます。

(setf buffer (babel:octets-to-string buffer :encoding :utf-8))

例外は次のとおりです。

437 番目から始まる UTF-8 文字が無効です。[BABEL-ENCODINGS:INVALID-UTF8-CONTINUATION-BYTE 型の条件]

中国語の単語に遭遇すると、この例外を破棄しなければならないことがわかりました。どうすれば解決できますか?

4

1 に答える 1

6

エラーメッセージはすべてを示しています-データに無効なUTF-8バイトシーケンスがあります。

このエラーの最も可能性の高い原因は、ページテキスト自体がUTF-8でエンコードされていないが、中国語テキストの他のエンコードである可能性があります。HTMLの「METAHTTP-EQUIV」タグと「Content-Type」HTTP応答ヘッダーのエンコードを確認する必要があります。

于 2011-12-17T16:57:05.920 に答える