Incorrect

mysql中输入中文数据报错Incorrect string的解决方法

此生再无相见时 提交于 2020-03-26 09:22:49
3 月,跳不动了?>>> 整整折腾了两天终于知道怎么让mysql中的表中输入中文数据了。现将方法记录下来: 在my.ini中default-character-set=latin1,表明一般默认的数据库的字符集为latin字符集,不支持中文。 创建表时,表或表中的列如果没有显示表明使用的字符集,则采用数据库的字符集。 例如: create table test(ch varchar(30)); 插入数据:insert into test values("中石化"); 则提示错误: Error Code: 1366 Incorrect string value: '\xE4\xB8\xAD\xE7\x9F\xB3...' for column 'ch' at row 1 但如果将表改为:alter table tablename convert to character set utf8; 在执行刚才的插入语句,则成功。 如果还不行的话,可以:alter table test modify ch archar(30) character set utf8; 来源: oschina 链接: https://my.oschina.net/u/919580/blog/118210

org.springframework.jdbc.core.JdbcTemplate 使用注意事项

亡梦爱人 提交于 2019-12-17 15:59:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在使用JdbcTemplate.queryForMap(String )的时候发现一个问题: 错误信息如下: org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 0 通过查询官方API: https://docs.spring.io/spring/docs/2.0.x/javadoc-api/org/springframework/dao/EmptyResultDataAccessException.html Data access exception thrown when a result was expected to have at least one row (or element) but zero rows (or elements) were actually returned. 注意事项: 如果要是有 queryForMap(sql)和qeuryForInt(sql)和qeuryForLong(sql) 要注意当Map 为空的时候会抛出异常。 如果不想抛出这个异常,要么就用queryForList(sql)吧。 来源: oschina