存储过程中建了一个临时表,然后往里插入数据,结果发现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 ;
解决方案 »
- 查重,重复数据取其中一条
- 如何在UPDATE语句中使用SELECT的结果?
- 请问show processlist 里面在什么情况下会出现sleep?
- 能否一条语句实现?
- 模糊查询的问题???
- 请教 我的mysql 怎么不能查询带where 的语句
- 我用SQLyog远程登陆一个MYSQL数据库,导出的数据发现中文变成了乱码,如何解决?
- php访问mysql的问题
- Mysql 导入报错 error code:1166
- mysql 5.7 id字段自增,数据不连续,update/delete时,会锁表,为什么?
- phpmyadmin如何装呀,是不是必须要先安装php环境呀?
- mysql4.0.26 utf8编码的问题
server=localhost;user id=root; password=1234; database=db; pooling=false;charset=utf8; 后OK