php通过存储过程传入汉字参数并写入数据库
写入数据库,汉字为???样式的乱码,后根据网上介绍的方法,参数前加N,数据库汉字内容变成空白。
解决方法,在PHP中先转为base64,再在mysql中base64解码,前提先保证mysql中有base64的函数。
$reason = empty($reason) ? '' : base64_encode($reason);
$sql2="call proc_refusedatestudy('{$appID}','{$reason}')";
$sql2="call proc_refusedatestudy('{$appID}','{$reason}')";
set @reason=cast(BASE64_DECODE(reason) as char);
update t_datestudycancle set `COMMENT`=@reason,`CANCLETIME`=NOW(),`OPTUSER`=@teaid where id=new_id;
update t_datestudycancle set `COMMENT`=@reason,`CANCLETIME`=NOW(),`OPTUSER`=@teaid where id=new_id;