1,使用MySQl 存储过程,MySQL使用utf8编码,从Java 后台中执行SQL语句代码
{call test.pcd_intface_book('xxxxx',1)}
出现异常
ERROR:Incorrect string value: '\xE9\x87\x91\xC3\x97\xE8...' for column 'content' at row 1
此乃数据库编码问题,MySQL数据库使用utf8编码,在建立存储过程的时候也必须使用utf8编码
代码如下:
DROP PROCEDURE IF EXISTS `pcd_intface_book`;
DELIMITER ;;
CREATE DEFINER=`root`@`%` PROCEDURE `pcd_intface_book`(content varchar(80) charset 'utf8',stat int(2))
BEGIN
#Routine body goes here...
INSERT INTO tb_ebs_book(pid,info,datetime,status)values(0,content,NOW(),stat);
END
注意,哪个字段需要utf8编码,就在 varchar(80)后面加上 charset ‘utf8’,utf8记得加上两个单引号