mysql数据库无法插入中文

我在做一个小项目,用的ssh框架,在测试业务层的时候无法向mysql插入中文,总是报这个异常org.hibernate.exception.GenericJDBCExce... 我在做一个小项目,用的ssh框架,在测试业务层的时候无法向mysql插入中文,总是报这个异常org.hibernate.exception.GenericJDBCException: could not insert: .我已经把my.ini里面的character_set都改为utf8了,可还是报异常(注意不是乱码,是根本插不进去),在这里求助高手了
SHOW STATUS 出来很多配置,你要我看哪个?
补充一下,我在cmd :insert into person(name) values('中文');只要是中文就插入不了
展开
 我来答
和太阳有个约会
推荐于2017-11-21 · TA获得超过249个赞
知道答主
回答量:67
采纳率:0%
帮助的人:87.3万
展开全部
察看数据库的字符集是否为utf-8.
SHOW STATUS

mysql -uroot
use YOUR DATABASE
status
----------------------------------
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 53 sec
----------------------------------

如果 client 为utf8 , 改为:
set char set 'gbk';

再试 insert 语句
辛浩穰留芃
2020-04-12 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:754万
展开全部
mysql装好后,有一个mysql数据库配置向导的,打开一个一个的点下一步,到编码选择里,选“日本语”那个选项,就是让mysql默认用utf-8编码。试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
侯定强飞掣
2020-05-16 · TA获得超过3539个赞
知道大有可为答主
回答量:3072
采纳率:29%
帮助的人:165万
展开全部
为什么不行呢?我分析情况只有
2种:
第一种,实际上是可以插入中文的,但是前提是重新插入内容才可以解码,你之前插入的乱码无法读取成中文,所以你只需要把以前插入的都删除重新插入就可以了;
第二种,实际上mysql具体使用什么编码方式不仅仅是设置MYSQL,它是取决于你的php脚本所使用的编码方式,如果是这种情况,不知道你的文本编辑器使用的什么工具,它默认的编码方式应该是UTF-8,所以你插入到GBK编码的数据库中就是乱码。
你看下是哪种情况把,欢迎指正
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蒯懿靖迎夏
2019-01-07 · TA获得超过4053个赞
知道大有可为答主
回答量:3166
采纳率:27%
帮助的人:201万
展开全部
Data
too
long
for
column
'name'
at
row
1
这个问题以前我也遇到过!
你如果是php开发,
可以插入之前加一个php函数,
那个函数就是将字符串添加单引号或双引号转义的函数,
或者将mysql的字符编码改成utf-8,
前台页面也是utf-8,
全部统一!
加那个引号转义函数我试过可以解决这问题!
这个函数名叫什么我忘记了,
现在跑的是java,
请见谅.
好像是add开头的...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奚昊阴欣跃
2019-08-19 · TA获得超过3784个赞
知道大有可为答主
回答量:3086
采纳率:29%
帮助的人:170万
展开全部
需要把数据库字符集、各表的字符集、各文本字段的字符集都设成utf8或gb2312或gbk,如果不是这几个的话应该都没法插入中文,建议你用phpmyadmin改一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(12)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式