mysql 的存储过程出来时间还不久,如果俺没有记错的话,应该是从5.0开始支持存储过程。跟oracle相比,mysql的存储过程功能还不够前者强大,使用也相对麻烦,另外,资料也是相当的少啊。
我使用的是5.0版本,在这个版本下面,mysql的存储过程不能设置字符集。这样就会出现一个问题:假如mysql数据库指定的默认编码是latin1,而这个字段的编码是gbk(假如字段没有指定编码,那么它的编码就是它所属表的编码),那么就会出现乱码。
解决的办法是:将mysql的默认编码改为同这个字段的编码一致。将my.ini或my.cnf中的
[code]default-character-set=latin1[/code]
改成
[code]default-character-set=utf8[/code]
就OK了。
tips:
1、如果你看到mysql出现 Data too long for column xx 这样的错误,一般都是编码问题。
2、修改了配置记得重启mysql :lol:
我使用的是5.0版本,在这个版本下面,mysql的存储过程不能设置字符集。这样就会出现一个问题:假如mysql数据库指定的默认编码是latin1,而这个字段的编码是gbk(假如字段没有指定编码,那么它的编码就是它所属表的编码),那么就会出现乱码。
解决的办法是:将mysql的默认编码改为同这个字段的编码一致。将my.ini或my.cnf中的
[code]default-character-set=latin1[/code]
改成
[code]default-character-set=utf8[/code]
就OK了。
tips:
1、如果你看到mysql出现 Data too long for column xx 这样的错误,一般都是编码问题。
2、修改了配置记得重启mysql :lol: