I think I've solved problem. 
I've reproduced your bug.
Here is how view can be created 

(ql:quickload :weblocks-stores)
(ql:quickload :clsql)
(use-package :weblocks-stores)

(clsql:def-view-class student () 
  ((id :accessor stu-id 
       :db-kind :key 
       :db-constraints (:not-null :unique) 
       :type integer)
   (name :initarg :name 
         :accessor stu-name 
         :db-constraints :not-null 
         :type string)
   (性别 :initarg :性别 
      :accessor stu-sex 
      :type string)))

(setf sb-impl::*default-external-format* :UTF-8)

(defstore *sql-store* :clsql '("localhost" "mk_new" "root" "")
  :database-type :mysql)

(weblocks-stores:open-stores)

(clsql:query "SET NAMES utf8;" :database *sql-store*)
(clsql:create-view-from-class 'student :database *sql-store*)


среда, 26 июня 2013 г., 2:08:25 UTC+3 пользователь zhiguolv написал:
>
> hi, I am using clsql-sys to create a chinese field table into mysql 
> database. when I load my package and use the command clsql-sys: create- 
> view-from-class, errors occured, my operation step mainly is the 
> following: 
>
>   (1)  --------Part of the student model file content is as follows: 
> ;;; Model 
> (clsql:def-view-class student () 
>   ((id :accessor stu-id 
>        :db-kind :key 
>        :db-constraints (:not-null :unique) 
>        :type integer) 
>    (name :initarg :name 
>   :accessor stu-name 
>   :db-constraints :not-null 
>          :type string) 
>    (性别 :initarg :性别 
>       :accessor stu-sex 
>       :type string) 
>    )) 
>  in this file a chinese field named 性别 is defined. 
> (2)-------- I use quickload to load the package named myweb in slime+sbcl, 
> the commands are as follows: 
> CL-USER> (ql:quickload "myweb") 
> To load "myweb": 
>   Load 1 ASDF system: 
>     myweb 
> ; Loading "myweb" 
> ....... 
> ("myweb") 
> CL-USER> (weblocks:start-weblocks) 
> #<WEBLOCKS:WEBLOCKS-ACCEPTOR (host *, port 8080)> 
> (#<MYWEB::MYWEB {262A2FC9}>) 
> CL-USER> (in-package myweb) 
> #<PACKAGE "MYWEB"> 
> MYWEB> (clsql-sys:create-view-from-class 'student :database *default- 
> store*) 
>  compiling file "e:/Lisp/sbcl/site/clsql/uffi/clsql-uffi-loader.lisp" 
> (written 19 DEC 2012 10:08:44 AM): 
> ; compiling (IN-PACKAGE #:CLSQL-UFFI) 
> ; compiling (DEFUN FIND-AND-LOAD-FOREIGN-LIBRARY ...) 
> ; compiling (DEFVAR *CLSQL-UFFI-LIBRARY-FILENAMES* ...) 
> ; compiling (DEFVAR *CLSQL-UFFI-SUPPORTING-LIBRARIES* ...) 
> ; compiling (DEFVAR *UFFI-LIBRARY-LOADED* ...) 
> ; compiling (DEFUN LOAD-UFFI-FOREIGN-LIBRARY ...) 
> ; compiling (LOAD-UFFI-FOREIGN-LIBRARY) 
> ; e:/Lisp/sbcl/site/clsql/uffi/ASDF-TMP-clsql-uffi-loader.fasl written 
> ; compilation finished in 0:00:00.312 
> ; compiling file "e:/Lisp/sbcl/site/clsql/uffi/clsql-uffi.lisp" (written 
> 19 DEC 2012 10:08:44 AM): 
> ; compiling (IN-PACKAGE #:CLSQL-UFFI) 
> ; compiling (DEFUN CANONICALIZE-TYPE-LIST ...) 
> ; compiling (DEF-FUNCTION "atoi" ...) 
> ; compiling (DEF-FUNCTION ("strtoul" C-STRTOUL) ...) 
> ; compiling (DEF-FUNCTION "atol" ...) 
> ; compiling (DEF-FUNCTION "atof" ...) 
> ; compiling (DEF-FUNCTION "atol64" ...) 
> ; compiling (DEF-CONSTANT +2^32+ ...) 
> ; compiling (DEF-CONSTANT +2^64+ ...) 
> ; compiling (DEF-CONSTANT +2^32-1+ ...) 
> ; compiling (DEFMACRO MAKE-64-BIT-INTEGER ...) 
> ; compiling (DEFMACRO MAKE-128-BIT-INTEGER ...) 
> ; compiling (DEFMACRO SPLIT-64-BIT-INTEGER ...) 
> ; compiling (DEF-TYPE CHAR-PTR-DEF ...) 
> ; compiling (DEFUN STRTOUL ...) 
> ; compiling (DEFUN CONVERT-RAW-FIELD ...) 
> ; e:/Lisp/sbcl/site/clsql/uffi/ASDF-TMP-clsql-uffi.fasl written 
> ; compilation finished in 0:00:01.000 
>
> (3) ----------the following errors occured, the detail of which is: 
> c-string decoding error (:external-format :UTF-8): 
>   the octet sequence 1 cannot be decoded. 
>    [Condition of type SB-INT:C-STRING-DECODING-ERROR] 
> Restarts: 
>
>  0: [RETRY] Retry SLIME REPL evaluation request. 
>  1: [*ABORT] Return to SLIME's top level. 
>
>  2: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread" 
> RUNNING {24FC7F49}>) 
> Backtrace: 
>   0: (SB-INT:C-STRING-DECODING-ERROR :UTF-8 1) 
>   1: (SB-IMPL::READ-FROM-C-STRING/UTF-8 #.(SB-SYS:INT-SAP #X02E64147) 
> CHARACTER) 
>   2: ((SB-PCL::FAST-METHOD CLSQL-SYS:DATABASE-EXECUTE-COMMAND (T CLSQL- 
> MYSQL:MYSQL-DATABASE)) ..) 
>   3: ((SB-PCL::EMF CLSQL-SYS:DATABASE-EXECUTE-COMMAND) ..) 
>   4: ((SB-PCL::EMF CLSQL-SYS:DATABASE-EXECUTE-COMMAND) ..) 
>   5: ((SB-PCL::FAST-METHOD CLSQL-SYS:EXECUTE-COMMAND (STRING)) ..) 
>   6: ((SB-PCL::FAST-METHOD CLSQL-SYS:EXECUTE-COMMAND (CLSQL-SYS::%SQL- 
> EXPRESSION)) ..) 
>   7: ((SB-PCL::FAST-METHOD CLSQL-SYS::%INSTALL-CLASS (CLSQL-SYS::STANDARD- 
> DB-CLASS T)) ..) 
>   8: (CLSQL-SYS:CREATE-VIEW-FROM-CLASS STUDENT :DATABASE 
> #<CLSQL-SYS:FLUID- 
>   
> DATABASE localhost/supportdb/admin OPEN {2646F979}> :TRANSACTIONS T) 
>   9: (SB-INT:SIMPLE-EVAL-IN-LEXENV (CLSQL-SYS:CREATE-VIEW-FROM- 
> CLASS 'STUDENT :DATABASE *DEFAULT-STORE*) #<NULL-LEXENV>) 
>  10: (EVAL (CLSQL-SYS:CREATE-VIEW-FROM-CLASS 'STUDENT :DATABASE *DEFAULT- 
> STORE*)) 
>  11: (SWANK::EVAL-REGION "(clsql-sys:create-view-from- 
> class 'student :database *default-store*)\n") 
>       Locals: 
>         SB-DEBUG::ARG-0 = "(clsql-sys:create-view-from- 
> class 'student :database *default-store*)\n" 
>
>  12: ((LAMBDA () :IN SWANK::REPL-EVAL)) 
>  13: (SWANK::TRACK-PACKAGE #<CLOSURE (LAMBDA # :IN SWANK::REPL-EVAL) 
>
> {266CF51D}>) 
>
>  14: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation 
>
> request." #<CLOSURE (LAMBDA # :IN SWANK::REPL-EVAL) {266CF4AD}>) 
>
>  15: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA # :IN 
>
> SWANK::REPL-EVAL) {266CF495}>) 
>  16: (SWANK::REPL-EVAL "(clsql-sys:create-view-from- 
> class 'student :database *default-store*)\n") 
>  17: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LISTENER-EVAL 
> "(clsql-sys:create- 
>   
> view-from-class 'student :database *default-store*)\n") #<NULL-LEXENV>) 
>  18: (EVAL (SWANK:LISTENER-EVAL "(clsql-sys:create-view-from- 
> class 'student :database *default-store*)\n")) 
>  19: (SWANK:EVAL-FOR-EMACS (SWANK:LISTENER-EVAL "(clsql-sys:create-view- 
> from-class 'student :database *default-store*)\n") "MYWEB" 10) 
>
>  20: (SWANK::PROCESS-REQUESTS NIL) 
>  21: ((LAMBDA () :IN SWANK::HANDLE-REQUESTS)) 
>  22: ((LAMBDA () :IN SWANK::HANDLE-REQUESTS)) 
>  23: (SWANK-BACKEND::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER- 
>
> HOOK> #<CLOSURE (LAMBDA # :IN SWANK::HANDLE-REQUESTS) {24FD00CD}>) 
>  24: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "e:/Lisp/emacs- 
> 23.3/site-lisp/slime/swank-sbcl.lisp") ..) 
>  25: (SWANK::CALL-WITH-BINDINGS ..) 
>  26: (SWANK::HANDLE-REQUESTS #<SWANK::MULTITHREADED-CONNECTION {248F0A01}> 
>
> NIL) 
>  27: ((FLET #:WITHOUT-INTERRUPTS-BODY-239701 :IN SB-THREAD:MAKE-THREAD)) 
>  28: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD:MAKE-THREAD)) 
>  29: ((FLET #:WITHOUT-INTERRUPTS-BODY-99850 :IN SB-THREAD::CALL-WITH- 
> MUTEX)) 
>  30: (SB-THREAD::CALL-WITH-MUTEX ..) 
>  31: (SB-THREAD::INITIAL-THREAD-FUNCTION) 
>  32: ("foreign function: call_into_lisp {426ECD}") 
>
>
> I think this is caused by the chinese field introduced in def-view-class 
> student() 
> Could anyone give me some help? I really need your help. 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weblocks" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/weblocks.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to