本文目录一览:
- 1、java编写的程序向mysql(压缩包版的那种)中插入中文数据时,在cmd中查询显示的是乱码
- 2、用JAVA插入到mysql中出现乱码是什么原因?
- 3、java后台向mysql插入数据,数据库中显示乱码
- 4、java写入mysql数据库乱码
java编写的程序向mysql(压缩包版的那种)中插入中文数据时,在cmd中查询显示的是乱码
你这个是因为修改了默认字符集后插入数据 造成前后不统一的问题 重新设置一遍就没问题了
① 首先把MySQL的服务停掉 在运行窗口输入:net stop mysql
② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……
具体操作为:打开mysql安装目录下的my.ini;
找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入default就会找到,都要改过来;
③ 重启MySQL服务器,在运行窗口输入:net start mysql
④ 最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了
用JAVA插入到mysql中出现乱码是什么原因?
***Mysql数据库常见乱码处理方式***
------先分清是否是数据库乱码,如果是其它则用其它方式处理
说明:i里面每条并不是说是一个解决办法,有时都要用到; ii这些方法应该能解决常见的乱码问题,并且这些解决方法都很简捷。
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-collation=gbk_chinese_ci; 如果上面不是gbk和gbk_chinese_ci则改成支持中文的GBK或者gb2312。
5.进入Mysql的dos命令下:进入某数据库后 show full columns from tablename ;查看数据类型,如果不是支持中
文的类型则执行alter table tablename convert to character set gbk 。
6.在创建数据库时(用命令创建时)create database databasename CHARACTER SET gbk;
这是我当年总结的,现在都用oracle了,越学忘记的越多了,不过mysql只要里面的几条必好使.
java后台向mysql插入数据,数据库中显示乱码
MySQL中默认字符集的设置有四级:服务器级,数据库级,表级
。最终是字段级
的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以我们建议要用show
create
table
table
;
或show
full
fields
from
tableName;
来检查当前表中字段的字符集设置。
MySQL中关于连接环境的字符集设置有
Client端,connection,
results
通过这些参数,MySQL就知道你的客户端工具用的是什么字符集,结果集应该是什么字符集。这样MySQL就会做必要的翻译,一旦这些参数有误,自然会导致字符串在转输过程中的转换错误。基本上99%的乱码由些造成。
上面是我抄网上的资料来的。我试了一下。发现
mysql
show
variables
like
'char%';
+--------------------------+----------------------------+
|
Variable_name
|
Value
|
+--------------------------+----------------------------+
|
character_set_client
|
latin1
|
|
character_set_connection
|
latin1
|
|
character_set_database
|
latin1
|
|
character_set_filesystem
|
binary
|
|
character_set_results
|
latin1
|
|
character_set_server
|
latin1
|
|
character_set_system
|
utf8
|
|
character_sets_dir
|
/usr/share/mysql/charsets/
|
+--------------------------+----------------------------+
8
rows
in
set
(0.00
sec)
解决方法已经找到。进入数据后
use
数据库名;
names
utf8;
不过这样会每次进入都必须重新设置。因此。还可以在/etc/mysql/my.conf里添加
[mysql]
#no-auto-rehash
#
faster
start
of
mysql
but
no
tab
completition
default-character-set=utf8
这样数据库就不每次按照utf8字符集来导入到数据库了
java写入mysql数据库乱码
应该是中文乱码问题
可以加上编码格式的设置,同时保证与数据库编码格式一致。