jsp页面向数据库增加数据和修改数据都会应为乱码而失败

night_never_up 2018-01-07 05:17:10
我已经在获取数据前加上了 request.setCharacterEncoding("utf-8");任然应为乱码而提交失败
update studentinfo set code=17905310,name='é????????',sex='??·',classcode=17905314,pro='è????????',age=18 where code='17905310'com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'sex' at row 1
...全文
440 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
night_never_up 2018-01-08
  • 打赏
  • 举报
回复
引用 3 楼 SWAT_TXY 的回复:
show create table 表名,可以看到使用的是何种编码,如gbk utf8 latin 不过你的代码报错Data too long for column 'sex' at row 1,是不是超过sex字段长度了
CREATE TABLE `studentinfo` ( `code` int(11) NOT NULL, `name` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `sex` varchar(2) COLLATE utf8_unicode_ci NOT NULL, `age` int(11) NOT NULL, `pro` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `classcode` int(11) NOT NULL, `pwd` varchar(18) COLLATE utf8_unicode_ci NOT NULL DEFAULT '123456', PRIMARY KEY (`code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci 结果是这个,因为乱码所以长度超过了
night_never_up 2018-01-08
  • 打赏
  • 举报
回复
引用 4 楼 addean0125 的回复:
是get请求还是post,get请求不设置的话这个是无效的。
是post
addean0125 2018-01-08
  • 打赏
  • 举报
回复
是get请求还是post,get请求不设置的话这个是无效的。
SWAT特训营 2018-01-07
  • 打赏
  • 举报
回复
show create table 表名,可以看到使用的是何种编码,如gbk utf8 latin 不过你的代码报错Data too long for column 'sex' at row 1,是不是超过sex字段长度了
night_never_up 2018-01-07
  • 打赏
  • 举报
回复
引用 1 楼 yenange 的回复:
mysql对应表的字符集是 utf-8吗? 你先改成用参数化看是否有问题?
引用 1 楼 yenange 的回复:
mysql对应表的字符集是 utf-8吗? 你先改成用参数化看是否有问题?
我之前搞错了,是java获取jsp表单传入的值的时候会乱码,而且我已经加了request.setCharacterEncoding("utf-8");但还是不行,请问怎么解决。数据库的类型是utf-8
吉普赛的歌 版主 2018-01-07
  • 打赏
  • 举报
回复
mysql对应表的字符集是 utf-8吗? 你先改成用参数化看是否有问题?

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧