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('中文');只要是中文就插入不了 展开
SHOW STATUS 出来很多配置,你要我看哪个?
补充一下,我在cmd :insert into person(name) values('中文');只要是中文就插入不了 展开
14个回答
展开全部
察看数据库的字符集是否为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 语句
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 语句
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
展开全部
mysql装好后,有一个mysql数据库配置向导的,打开一个一个的点下一步,到编码选择里,选“日本语”那个选项,就是让mysql默认用utf-8编码。试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么不行呢?我分析情况只有
2种:
第一种,实际上是可以插入中文的,但是前提是重新插入内容才可以解码,你之前插入的乱码无法读取成中文,所以你只需要把以前插入的都删除重新插入就可以了;
第二种,实际上mysql具体使用什么编码方式不仅仅是设置MYSQL,它是取决于你的php脚本所使用的编码方式,如果是这种情况,不知道你的文本编辑器使用的什么工具,它默认的编码方式应该是UTF-8,所以你插入到GBK编码的数据库中就是乱码。
你看下是哪种情况把,欢迎指正
2种:
第一种,实际上是可以插入中文的,但是前提是重新插入内容才可以解码,你之前插入的乱码无法读取成中文,所以你只需要把以前插入的都删除重新插入就可以了;
第二种,实际上mysql具体使用什么编码方式不仅仅是设置MYSQL,它是取决于你的php脚本所使用的编码方式,如果是这种情况,不知道你的文本编辑器使用的什么工具,它默认的编码方式应该是UTF-8,所以你插入到GBK编码的数据库中就是乱码。
你看下是哪种情况把,欢迎指正
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Data
too
long
for
column
'name'
at
row
1
这个问题以前我也遇到过!
你如果是php开发,
可以插入之前加一个php函数,
那个函数就是将字符串添加单引号或双引号转义的函数,
或者将mysql的字符编码改成utf-8,
前台页面也是utf-8,
全部统一!
加那个引号转义函数我试过可以解决这问题!
这个函数名叫什么我忘记了,
现在跑的是java,
请见谅.
好像是add开头的...
too
long
for
column
'name'
at
row
1
这个问题以前我也遇到过!
你如果是php开发,
可以插入之前加一个php函数,
那个函数就是将字符串添加单引号或双引号转义的函数,
或者将mysql的字符编码改成utf-8,
前台页面也是utf-8,
全部统一!
加那个引号转义函数我试过可以解决这问题!
这个函数名叫什么我忘记了,
现在跑的是java,
请见谅.
好像是add开头的...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要把数据库字符集、各表的字符集、各文本字段的字符集都设成utf8或gb2312或gbk,如果不是这几个的话应该都没法插入中文,建议你用phpmyadmin改一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |