5

Windows10/64 に CCL Lisp 1.11 をインストールし、sqlite3.dll をダウンロードしてから、quicklisp と cl-sql をインストールしました。(ドイツ語の) 特殊文字のコンテキストでエラーが発生します。これは私がEmacs Slime Replで試したことです:

(clsql:connect '("C:/users/user/test.sqlite")
               :database-type :sqlite3
               :encoding 'utf-8)
(clsql:execute-command "create table name (name)")
(clsql:execute-command "insert into name values ('Übermaß')")
(format t "~A" (clsql:query "select * from name") )

最後の行を実行すると、デバッガーが呼び出されます。

Cannot allocate a STRING with NIL elements.
Objects of type STRING can can have at most 
16777215 elements in this implementation.
   [Condition of type CCL::VECTOR-SIZE-LIMITATION] ...
Backtrace
  0: (%STR-FROM-PTR #<A Foreign Pointer #x2D0F8C8> NIL NIL)
  1: ((:INTERNAL CLSQL-SQLITE3::EXTRACT-ROW-DATA (CLSQL-SYS:DATABASE-QUERY (T CLSQL-SQLITE3:SQLITE3-DATABASE T T))))
  2: (#<STANDARD-METHOD CLSQL-SYS:DATABASE-QUERY (T CLSQL-SQLITE3:SQLITE3-DATABASE T T)> "select * from name" #<SQLITE3-DATABASE C:/users/user/test.sqlite OPEN #xCDC1B7E> :AUTO T)
  3: (CCL::%%STANDARD-COMBINED-METHOD-DCODE ((#<STANDARD-METHOD CLSQL-SYS:DATABASE-QUERY :BEFORE (T CLSQL-SYS:DATABASE T T)>) NIL ..) 16705134)
  ... 

私の Emacs .init.el は UTF-8 を使用するように設定されています:

(set-language-environment "utf-8")
(setq inferior-lisp-program "C:/users/user/bin/ccl-1.11/wx86cl.exe -K utf-8")
(setq slime-net-coding-system 'utf-8-unix)
(prefer-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)

UTF-8 エンコーディングなしで .sqlite DB ファイルを作成しようとすると、データの挿入と選択は機能しますが、特殊文字が正しく表示されません。

4

0 に答える 0