2014-03-07 76 views
1

我可以选择它做好。MYSQL CURSOR使用Unicode

但是,当我使用FETCH dept_csr INTO l_id,l_code1,l_code2;

,我叫proc,则显示???管爺

所以,我怎么能解决这个问题PROC正确地显示中国人。

BEGIN 

    DECLARE l_id   INT; 
    DECLARE l_code1  CHAR(8); 
    DECLARE l_code2  CHAR(2); 
    DECLARE l_count  INT; 
    DECLARE no_more_maps INT; 


    DECLARE dept_csr CURSOR FOR 
     select cID,cName,cSex from students; 


    DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_maps=1; 


    SET no_more_maps=0; 


    OPEN dept_csr; 
     dept_loop:REPEAT   
      FETCH dept_csr INTO l_id,l_code1,l_code2; 
      IF no_more_maps=0 THEN 
       SET l_count=l_count+1; 
       select l_id,l_code1,l_code2; 
      END IF; 
     UNTIL no_more_maps 
     END REPEAT dept_loop; 
     CLOSE dept_csr; 
     SET no_more_maps=0; 
END  

回答

1
DECLARE l_code1  CHAR(8) CHARACTER SET utf8; 
    DECLARE l_code2  CHAR(2) CHARACTER SET utf8; 
+0

亲爱eggyal:THX你的答案,它现在是OK! – wayout