mysql保存了类似问号的乱码怎么办

mysql 乱码问题相信很多人都遇到过,但一般人遇到的乱码多是字符集不匹配导致的,只要设置正确即可一切正常。

有一种情况是保存的时候就出现了问题,由于写库时写入了不完整的字符,mysql存下来的就是不完整的字符,这种字符一般会显示为一个类似问号的样子。

如果数据库中存了大量这样的字符,并且夹在正常文字当中,就十分无奈了。

试过 Google 无数次这个问题,由于关键字不对或者没人遇过,搜索到的内容都是set names解决的,更加无奈。

这个有问题的库一直放在那无奈着,今天突发灵感,试了下直接在 mysql 命令中粘贴上这个奇怪的问号字符,居然成功了,太神奇了。

select * from zhetenga.com where name like '%?%';

mysql保存了类似问号的乱码怎么办 图1

于是问题也很好解决了,能 select 就能 update,于是执行如下 mysql 命令解决。

update zhetenga.com set name=replace(name, '?', '') where name like '%?%';

以上两个 sql 中的 ? 为乱码字符,如上面图片所示,不便写在内容中,所以改为问号。

2015年07月05日