解决中文存到数据库报错问题
springframework.jdbc.UncategorizedSQLException:
1,创建数据库时没有指定编码问题
先查看数据库的系统编码
我的已经设置好了编码,但是一旦重启就又要重新设置编码了
设置编码命令如下:set character_set_client=utf8;
2,.连接数据库的时候数据编码设置错误
3,创建数据表时数据编码设置错误
甚是纠结,我原本以为应该是以下问题之一:
(1).创建数据库的时候数据编码设置错误
(2).连接数据库的时候数据编码设置错误
对于(1),我删除来原来的数据库,重新创建一个新的数据库在设置编码时,我的设置如下:
character set:utf8 -- UTF-8 Unicode
collation:utf8_general_ci
发现这样设置之后,不能解决这个问题。
对于(2),我将连接语句写为:
"jdbc:mysql://" + ip + ":3306/users?useUnicode=true&characterEncoding=utf8"
但问题仍然没有解决。
又仔细观察我写的程序,发现在程序中有向数据库中创建表的操作,语句如下:
"create table friendsList (qq varchar(7) primary key,remark varchar(20),groupName varchar(20)) ;"
这样,问题变得明朗了,原来创建每张表的时候都必须设置数据编码方式,改后的语句如下:
"create table friendsList (qq varchar(7) primary key,remark varchar(20),groupName varchar(20)) charset utf8 collate utf8_general_ci;"
总结一下,引起本文章标题这样的问题的原因有以下几个:
(1).创建数据库的时候数据编码设置错误
(2).连接数据库的时候数据编码设置错误
(3).创建表的时候数据编码设置错误
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现