这次为了记录自己在跑项目时犯的一个nc错误,控制台的报错时这样的

就一个很简单的空指针的错误,然后我在查错的时候,发现我后台编写的sql语句在数据库端查不到结果。然后我再去Navigate上执行sql语句,还是没用。我就猜想可能时我的sql语句中带有中文字符,然后我就去搜资料,寻找解决办法。总体来说,网上提供了两个解决方案。

  1. 在连接数据库的url中添加上 &useUnicode=true&characterEncoding=UTF-8
  2. 在mysql安装目录下的my.ini文件下作更改。
[mysql]
# 设置mysql客户端默认编码
default-character-set=utf8
[mysqld]
# 服务端默认utf8编码
character-set-server=utf8
[client]
#设置客户端编码
default-character-set=utf8

在对应的模块下更改就行。由于我的是mysql8.0,对应的目录下没有my.ini这个文件,那就自己创建一个my.ini,放在你的安装目录下

添加的内容有下:

[mysql]
# 设置mysql客户端默认编码
default-character-set=utf8
[mysqld]
#设置端口号
port = 3306
# 设置mysql8.0的安装目录
basedir=C:\\Program Files\\MySQL\\MySQL Server 8.0
# 允许最大连接
max_connections=200
# 服务端默认utf8编码
character-set-server=utf8
# 默认存储
default-storage-engine=INNODB
[client]
#设置客户端编码
default-character-set=utf8

保存后,我以为万事大吉了,结果还是给我报错了。然后我有在Navigate上自己写sql语句,结果看了下表的数据,日,我密码一直打错了,怪不得查不到数据。最后我改对密码后,一切都正确了。不过还是有那么一点收获的。

更多推荐

MySQL执行带有中文的sql语句问题