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));
前天自己躺坑的真实历程(http://dandanlove.com/2017/02/08/Ubuntu-mysql-code-error/),希望能帮到楼主~!~!
你是用mysql直接存的数据还是用java存的数据呀?