码迷,mamicode.com
首页 > 数据库 > 详细

mysql使用存储过程插入数据后,参数为中文的为?或乱码

时间:2017-05-06 14:08:56      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:版本   中文   mysq   存储过程   题解   分享   img   9.png   arc   

最近了解了一下mysql存储过程,之前版本的mysql不支持存储过程,5.0版本后就可以支持存储过程的使用;恰好笔者下载使用版本为5.6.20:

技术分享

 

做了一个给表插入数据的简单存储过程,发现打开表后汉字全部显示为?号。如下:

技术分享

 

于是上网查资料,忙了两小时才搞定!好了,现在简单叙述一下。

笔者遇见的问题是由两种原因引起的;

第一:使用Navicat数据库客户端建立表设置问题导致的,如下:

技术分享

将上边操作完成后,可以在表里插入汉字,没有?号或者乱码现象了,本以为问题解决了,但使用存储过程时依然插入的是?号;然后笔者就认为是存储过程出问题啦,果然,经查阅资料发现,mysql存储过程插入参数涉及中文的要将varchar类型修改为nvarchar,代码如下:

技术分享

好了,打完收工!结果如下:

技术分享

以上方法是笔者找到的两种问题,并将之处理的方案,如读者有其他更好的解决方案,也可以提出来,相互进步;当然类似的问题可能由于其他原因导致,在这里就不过多叙述了!

mysql使用存储过程插入数据后,参数为中文的为?或乱码

标签:版本   中文   mysq   存储过程   题解   分享   img   9.png   arc   

原文地址:http://www.cnblogs.com/lidelin/p/6816378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!