MySQL数据库存储过程字符集问题,乱码的解决办法

信息发布:soゝso 发布日期:2016-08-22 18:21 热度:476 分享到:

MySQL  存储是 MySQL  数据库操作中非常重要的一个工作,也是大家平时工作中都要应用到的。

由于存储过程中定义参数时,无法定义其字符集,因此调用存储过程的时候,会默认读取全局变量character_set_server,而且还是只读取 mysqld启动时该全局变量的值作为存储过程中默认的传输字符集。

因此,如果数据表/字段使用系统默认的字符集(比如latin1)的话,调用存储过程更新一些非英文的字符串字段时,就不会发生问题;但是,如果数据表/字段的字符集不是系统默认的字符集(比如默认是latin1,数据表使用的是utf8),就会出现问题了。

解决办法:

my.cnf(windows下是my.ini),增加一行:

default-character-set=utf8

或者

character-set-server=utf8


也可以。如果只是在mysqld启动之后,在  mysql  命令行中用 SET语法来更新的话则不起作用。


本文主题

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

¥我需要走的更远,点击我 赞助。 如果还有疑问,点击我加群,为你提供最好的解答。


工具导航地图

 
Nodejs + socket Demo 赞助二维码 赞助名单 百度口碑点赞 查看QQ群美女帅哥 点击加QQ群 听音乐 开启弹幕 X
反馈意见