存储过程中建了一个临时表,然后往里插入数据,结果发现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 ;
但是从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 ;
解决方案 »
- mysql的报错,请高手帮忙指出问题
- 关于MySQL中批量插入数据的问题
- 关于mysql的事务,当default-storage-engine=INNODB是不是无效?
- mysql 复合索引和单列索引优缺点及什么情况下使用
- mysqldumpslow
- MYSQL中 关于SELECT语句中的求和问题
- MYSQLrand()的问题,能不能取重复记录呢
- 高手请进,我现在要实现如果查出一个字段长度超过6个字,就在6个字后加...显示!
- Mysql大数据的处理,求大神指导
- MySQL IFNULL函数不起作用
- phpmyadmin如何装呀,是不是必须要先安装php环境呀?
- mysql4.0.26 utf8编码的问题
server=localhost;user id=root; password=1234; database=db; pooling=false;charset=utf8; 后OK