mysql已经按照http://blog.csdn.net/yipiankongbai/article/details/16937815 修改了配置,且charset显示为utf8。
表创建的时候,设置default charset=utf8, 且 show create table * 显示 charset是utf8。
但是存储中文的时候,还是会乱码,中文已经转换为utf8编码了。
检查mysql返回存入的中文,发现编码方式是ASCII。
小白真是没办法了,恳请指导。
mysql已经按照http://blog.csdn.net/yipiankongbai/article/details/16937815 修改了配置,且charset显示为utf8。
表创建的时候,设置default charset=utf8, 且 show create table * 显示 charset是utf8。
但是存储中文的时候,还是会乱码,中文已经转换为utf8编码了。
检查mysql返回存入的中文,发现编码方式是ASCII。
小白真是没办法了,恳请指导。
终于找到原因了,因为我使用了存储过程,存储过程中也需要设置编码方式为utf8,不然会以ASCII存储,当然乱码。存储过程中设置编码的方式,
已经验证过,可行的有两种方法:
方法1:接收参数的时候,如 IN title
VARCHAR(100) CHARACTER SET UTF8
方法2:存储过程中调用convert函数,如 insert into test VALUES (convert( '哈哈' using utf8));