彻底解决mybatis 插入数据中文后显示问号(?)的问题
在spring+mybatis开发中 遇到插入中文字符数据变成问号的问题
1、一般第一步可能会去看spring项目中的web.xml是否设置了字符过滤器
但是一看代码已经拷贝过来了啊 ┭┮﹏┭┮
2、那会不会是tomcat中没有设置字符的问题?于是打开server.xml
空欢喜 还是设置过了啊 ┭┮﹏┭┮
3、对了还有个地方可能出问题 那就是数据库连接文件中 jdbc_url连接地址后面是否加了utf8
这 这 这 也没毛病啊 ┭┮﹏┭┮
4、会不会是写业务代码的时候 复制 粘贴的时候没注意
但是一看debug信息 最后执行的sql传过去的都是正确的中文啊 ┭┮﹏┭┮
5、这时候基本确定问题是创建数据库的时候 手滑了 字符集选错了
见鬼了 问题在哪呢?┭┮﹏┭┮
6、数据库也没问题 那真解决不了了 ?网上看到倒是还有方法 就是改数据库配置文件
这也太高大上了吧 之前可重来没干过这玩意啊 还能怎么办 试试呗
首页在cmd中输入mysql -u ... 但是 它提示不是内部或外部命令,也不是可运行的程序或批处理文件。
这可能是环境变量中没有配吧 那就去配置一下
然后再cmd中输入mysql -u root -p 输入密码 进去之后 输入
show variables like 'character%';
记得加分号后 敲回车
看到类似这样的(这个当时自己的忘记截图了,这个是网上搜的) 只有一个utf8 其他不知道什么意思 但是第三个 database这个名字很熟悉 数据库的意思嘛 它居然不是utf8 这可能有问题(latin1就是ISO-8859-1)
改这个字符可就得修改mysql的配置文件 my.ini
把这两个地方的字符串改成utf8 保存一下 然后需要重启
重启 window下就是先停止 后启动 net stop mysql 和 net start mysql
重启的时候可能又有问题了
还拒绝访问了 这是因为当前用户不是管理员 需要以管理员的身份运行才可以重启
然后停止和启动
再重启 tomcat服务器 然后添加数据