向mysql数据库插入图片出现乱码

问题描述

做了一个小程序,向mysql数据库中插入图片,并且可以显示图片。我的mysql数据库字符编码是gbk,eclipse默认的字符编码也是gbk。 查询语句:insert =conn.prepareStatement("insert into img_table (name,data) values (?,?)", Statement.RETURN_GENERATED_KEYS); 开始连接数据库的url是jdbc:mysql://localhost:3306/test 。出现错误:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Oá??????R2?X???6?R?’??'??-?P?5?|?e?z???m??7?M??héò?PTK?M??f=??í???D???y????r‘?' at line 1。 后来在url后加了句?useUnicode=true&characterEncoding=GBK 。 还是同样的问题。 在网上查了半天,在csdn中看到有类似问题,看到有人将gbk改成utf-8,解决问题,我试了一下,还真解决问题了,有点奇怪。不知道其中的道理,,,,求解?????

解决方案

你打开我的电脑-高级-环境变量 设置一下变量名:JAVA_TOOL_OPTIONS变量值:-Dfile.encoding=UTF-8 变量值可根据你的编码改变你计算机的根本编码格式
解决方案二:
你发给数据库服务器的数据采用的是UTF-8编码,而数据库的编码采用的是gbk,两者不一致,所以必须指定useUnicode=true&characterEncoding=UTF-8,告诉数据库服务器你的数据采用的是UTF-8编码,这样,当数据库服务器接收到你传过去的数据的时候,首先会采用UTF-8进行解码,然后再用gbk编码成字节码存入表中。当你从数据库查询数据的时候,数据库也是先用gbk进行解码,然后再用UTF-8编码成字节码,传送给客户端程序。总之,客户端采用的编码和数据库采用的编码不一致的话,就必须指定useUnicode=true&characterEncoding=UTF-8,否则会出现中文乱码。一致的话就不需要指定了,因为不需要进行编码的转换。下面是详细的解释,可以参考一下:http://www.cnblogs.com/xuefuwu/archive/2012/05/06/2486577.html

时间: 2024-10-30 07:39:59

向mysql数据库插入图片出现乱码的相关文章

php网mysql数据库插入数据乱码问题?

问题描述 php网mysql数据库插入数据乱码问题? 我php页面是设置为 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 数据库的编码也是utf8 Variable_name Value character_set_client utf8 character_set_connection utf8 character_set_database utf8 char

hibernate-Hibernate向Mysql数据库插入数据出现乱码问号

问题描述 Hibernate向Mysql数据库插入数据出现乱码问号 在MyEclipse环境下向Mysql数据库插入数据出现乱码问号,于是做了如下设置: MyEclipse字符编码已经设为utf-8(window->preference...设置),MySQL的my.ini下设为default-character-set=utf8,hibernate.cfg.xml下jdbc:mysql://localhost:3306/users?useUnicode=true&characterEnco

hibernate-关于mysql数据库出现中文乱码的问题

问题描述 关于mysql数据库出现中文乱码的问题 项目全程都是utf8,hibernte写进数据库的数据取出来在myeclipse的consle下面显示是正常的,为何在数据库下面显示的中文名就是乱码.注明:我的数据库所有配置都是utf8 然后我又试着手动在dos窗口下用insert语句插入中文,结果是error1406,插不进去,查看用程序插进去的中文显示乱码.我把my.ini文件中的两处配置改为GBK,然后dos窗口下显示出了正确的中文,我想问的是既然数据库是utf8编码,为何GBK可以把中文

c#向Mysql中插入数据乱码?

问题描述 c#向Mysql中插入数据乱码.大家看一下代码.MySQLConnectionconn=null;conn=newMySQLConnection(newMySQLConnectionString("localhost","emarket","root","root").AsString);conn.Open();MySQLCommandcommn2=newMySQLCommand("setnamesgb23

mysql-QT连MySQL数据库插入操作问题

问题描述 QT连MySQL数据库插入操作问题 版本:QT5.2.1 MySQL5.0代码如下: 代码一:query.exec(""insert into text1(idnamesex) values(1'1''1')""); 给数据库中text1表中插入数据,成功! 代码二:query.prepare(""insert into text1(idnamesex)""""values(:id:name:se

jsp mysql-jsp页面获得的数据存入mysql数据库之后出现乱码怎么办?

问题描述 jsp页面获得的数据存入mysql数据库之后出现乱码怎么办? 如题,且jsp和mysql的编码都已经设置成utf-8了而且String equipment=request.getParameter(""chance_equipment""); String state=""未指派"";页面获得的中文数据存储不正常,是乱码,我自己定义的state却正常显示 解决方案 在页面编码,数据库编码方式都统一的情况下,还有一个r

编码格式-mysql数据库插入中文 老是出错

问题描述 mysql数据库插入中文 老是出错 如图 已经在配置文件中改了编码格式 但是还是插不了中文啊 解决方案 大概缺少了GB2312 再增加GB2312配置 解决方案二: 修改成utf-8试试 解决方案三: 你创建的数据库的编码格式统一了吗?最好统一成utf-8. 解决方案四: 其实 你可以使用客户端试试,sqlyog 或者 navicat 解决方案五: 通常 使字库确实或字符编码设置不当造成的. 解决方案六: 建议UTF-8... 解决方案七: 你使用 show create table

mysql-我的MYSQL数据库总是中文乱码

问题描述 我的MYSQL数据库总是中文乱码 _我的MYSQL数据库总是中文乱码,我已经把编码调为utf8了 解决方案 你安装MySQL的时候是不是选择的utf-8哟 解决方案二: 是程序写入乱码?请问数据的来源~ 解决方案三: 如果是表内存储字段内容乱码,那就是输入的代码编码与数据库中的编码不一致:如果是读取数据库时显示乱码,那就设定输出的编码. 解决方案四: 应该是程序和数据库直接操作引起的,比如JDBC连接时设置为utf-8试试 解决方案五: 我也遇到过你这种问题,试了N种方法都不行,最后没

python mysql数据库插入语句问题

问题描述 python mysql数据库插入语句问题 本人新手,想在python中实现数据库插入,但是只要参数有中文字符就执行不了,换成英文字符没有出错 解决方案 数据库连接用utf8编码,插入的中文等也用utf8编码,然后再插入数据库 解决方案二: 楼上说的对,在文件开头写入#-*- coding:utf-8 -*- 就好了