java连接mysql时,写入的中文乱码。mysql字符设置成gbk,请问大家怎么回事啊

如题所述

java连接mysql成功,写入的中文乱码

打开MySQL的配置窗口(如下图所示),依次设定,直到出现下面的界面,

选择第二个(支持多种语言模式)即可


温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-10
连接数据库时这样写useUnicode=true;characterEncoding=gbk,另外你如果用到servlet了,再加上response.setCharacterEncoding("gbk");追问

jdbc:mysql://localhost:3306/mldn;useUnicode=true;characterEncoding=gbk
请问是这个格式吗?

追答

jdbc:mysql://localhost:3306/mldn;useUnicode=true&characterEncoding=gbk
这样

追问

不行啊~编译成功了,但是执行的时候报错了~MySqlSyntaxErrorException:Unknown database mldn;useUnicode=true&characterEncoding=gbk

哪位大侠帮帮忙啊

哈哈,问题解决了~谢谢大家了~

第2个回答  2012-04-10
你的表的字符集是什么啊,java写入mysql时候的字符集是什么,肯定要统一才行追问

表的字符集是gbk。怎么看写入时的字符集啊?是在url的后面追加上?useUnicode=true;characterEncoding=gbk吗?

追答

呵呵,解决就不说了

追问

那也谢谢你了

追答

那共享下解决的步骤,以后别人看了也知道啦~

追问

就是按你们的提示做的,我装mysql的时候,没有让我选择 character set :gbk的步骤。我安装后,所有的字符都是 latin1类型的,也能正常使用,从mysql里向表中insert 中文的时候,可以正常显示。然后把myslq的my.ini文件里的default-character-set=latin1改成了default-character-set=gbk,最后在用java向mysql里写中文时,连接时在dbname?useUnicode=true&characterEncoding=gb,在连接的url后(要用?号连接不能用“;”)

追答

如果是j2ee应用中的话,也可以用过滤器去设置java和mysql之间的字符

追问

j2ee的话,我就不清楚了,小弟刚学,就用到j2se。~

java 读取mysql出现中文乱码?
这个是字符集设置出了问题。首先要看你的数据库是什么字符集。mysql 4.x的多用GBK gb2312一类的中文字符集,5.x以后多用utf8的。在确定了数据库本身的字符集以后,你再确定你前台程序使用的啥语言。一般java默认的就是utf8 如果不是,你就改成和数据库一样的字符集。只有你2个地方的字符集对应...

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)_MySQL
首先:用show variables like “%colla%”;show varables like “%char%”;这两条命令查看数据库与服务端的字符集设置如果查看出来都是gbk2312,或 gbk,那么就只能支持简体中文,繁体和一些特殊符号是不能插入的,我们只有修改字符集为UTF-8,修改方法如下:用记事本或UitraEdit打开mysql数据库安装目...

解决MySQL中文乱码问题的实用方法mysql中使用中文乱码
[mysqld]设置字符集为utf8 character-set-server = utf8 default-character-set = utf8 重启MySQL服务以使更改生效。3. 使用SET NAMES命令 SET NAMES命令用于更改客户端连接的默认字符集。在应用程序代码中,您可以将SET NAMES命令插入连接到MySQL的代码中,以确保正确的字符集。以下是一个示例:conn ...

MySql中插入中文显示的是乱码
出现乱码肯定是你现在用的编码混乱造成的 解决办法:第一步 先改数据库编码 先修改你的数据库,如果你页面用的是UTF-8编码那么你数据库内的编码也需要设置为UTF-8,每个字段都需要设置.要保持内外一致,你可以用Navicat for MySQL工具,这个工具里能看得很清除,如果表\\字段很多的话你可以导出SQL语句,然...

mysql中文乱码原因及解决方法汇总介绍_mysql中文乱码原因及解决方法汇总...
首先,导致MySQL中文乱码的主要原因有三个:1. MySQL服务器本身的设定,可能是仍使用了不支持中文的字符集,如latin1。2. 数据库表的语系设定,包括character和collation,需要设置为支持中文的UTF8。3. 客户端程序(如PHP)的连接字符集设定,推荐使用utf8,以兼容全球字符。针对Linux下MySQL中文乱码,...

mysql设置字符集为utf8还是中文乱码
一、转码失败在数据写入到表的过程中转码失败,数据库端也没有进行恰当的处理,导致存放在表里的数据乱码。针对这种情况,前几篇文章介绍过客户端发送请求到服务端。其中任意一个编码不一致,都会导致表里的数据存入不正确的编码而产生乱码。比如下面简单一条语句:set @a = "文本字符串";insert into ...

...写入MySQL中,但是在Navicat显示中文就出现乱码!
3:window->Preferences->Myeclipse->Files and Editors下边有很多子选项,点开每一个子选项会有一个字符编码设置,将自己需要的子选项的字符编码设置成UTF-8 其次,你要看一下你代码里JDBC连接语句是否设置了编码格式,在此,我举个小例子,仅供参考jdbc.url = jdbc\\:mysql\\:\/\/localhost\\:3306\/...

mysql中文乱码问题
一、转码失败在数据写入到表的过程中转码失败,数据库端也没有进行恰当的处理,导致存放在表里的数据乱码。针对这种情况,前几篇文章介绍过客户端发送请求到服务端。其中任意一个编码不一致,都会导致表里的数据存入不正确的编码而产生乱码。比如下面简单一条语句:set @a = "文本字符串";insert into ...

MySQL数据库中的中文乱码如何解决
mysql数据乱码问题可能有以下三种原因:1.server本身设定问题,例如还停留在latin1版本;2.table的语系设定问题(包含character与collation);3.客户端程式(例如php,java)的连线语系设定问题;建议使用utf8!!!想要避免mysql的中文乱码问题,可以尝试以下方法:1,对于版本问题,建议去官网更新最新的版本或者比较好用...

用JAVA插入到mysql中出现乱码是什么原因?
1.在安装数据库的过程中将默认的拉丁文-->GBK。2.在创建数据库时设置选择GBK或者gb2312。3.Mysql安装目录下的my.ini文件,将 "default-character-set=xxxxx"中的xxxxx改成GBK或者gb2312。4.Mysql安装目录下的\\\\data\\\\databasename(数据库名)\\\\db.opt文件打开 default-character-set=gbk default-...

相似回答