wangdachui95345 2017-02-09 07:31 采纳率: 84.6%
浏览 2235
已采纳

Mysql 返回类型总是Ascii,虽然设置为utf8

mysql已经按照http://blog.csdn.net/yipiankongbai/article/details/16937815 修改了配置,且charset显示为utf8。
表创建的时候,设置default charset=utf8, 且 show create table * 显示 charset是utf8。

但是存储中文的时候,还是会乱码,中文已经转换为utf8编码了。
检查mysql返回存入的中文,发现编码方式是ASCII。
小白真是没办法了,恳请指导。

  • 写回答

3条回答 默认 最新

  • wangdachui95345 2017-02-10 01:28
    关注

    终于找到原因了,因为我使用了存储过程,存储过程中也需要设置编码方式为utf8,不然会以ASCII存储,当然乱码。存储过程中设置编码的方式,
    已经验证过,可行的有两种方法:
    方法1:接收参数的时候,如 IN title VARCHAR(100) CHARACTER SET UTF8

    方法2:存储过程中调用convert函数,如 insert into test VALUES (convert( '哈哈' using utf8));

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python