在MYSQL>SELECT ord(substring('需要',1,1))-65536;    =》 -12056
我把他写道存储过程中
DELIMITER $$
DROP FUNCTION IF EXISTS getfullspell $$
CREATE FUNCTION getfullspell(str varchar(1000)) RETURNS int
BEGIN
DECLARE reval int;
SET NAMES gbk;
SET f=1;     
        SET reval = ord(substring(str,1,1))-65536 ;

RETURN reval;
SET NAMES utf8;
END
 $$
DELIMITER ;
 MYSQL>SELECT getfullspell('需要');==> 15244416
为什么结果就不一样了?