存储过程中建了一个临时表,然后往里插入数据,结果发现Sql中的‘男’‘女’,出来后都是乱码,
但是从grade表联过来的中文正常
而我手动在MySql命令行里建表,插入记录,再select出来,又都是正常我应该怎么做,才能让存储过程也返回正常的中文呢?存储过程代码如下:
DROP PROCEDURE IF EXISTS `nffhr`.`aa`$$CREATE DEFINER=`root`@`%` PROCEDURE `aa`()
begin
set names gbk;
create TEMPORARY table t1
(
    a1 varchar(50),
    a2 varchar(50)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;insert into t1(a1,a2) 
select case a.baseinfor02 when '1' then '男' else '女' end as baseinfor02,
    d.descri as baseinfor20
  from person_baseinfor a,grade d
where a.baseinfor20 = d.id and a.id < 30;select * from t1;
end$$DELIMITER ;