java入数据库Mysql乱码问题:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java入数据库Mysql乱码问题:相关的知识,希望对你有一定的参考价值。

Mysql 乱码问题:

Mysql配置文件如下(my.ini,安装的时候server的charset选择的是utf8):
[client]
port=3306
[mysql]
default-character-set=gbk
[mysqld]
default-character-set=utf8

java代码如下(jar包已添加):
public class DatabaseTest

public static void main(String[] args)
try
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/bbs","root" , "mysql");
conn.createStatement().execute(
"insert into user values('用户名','密码')");
catch (Exception e)
e.printStackTrace();



在Mysql的bbs下建表
create table user(
username varchar(20),
password varchar(20)
);

可在后台查询,插入的是乱码。

将配置文件中[mysql] default-character-set=改为UTF8任然存在乱码
请高手赐教!
一开始就是GBK出错了才改的

不是web应用,就上面一段小程序啦

default-character-set=改为GBK呢
url后面直接追加:useUnicode=true&characterEncoding=gbk呢

在mysql命令行中运行以下代码:
SET character_set_client = gbk;
SET character_set_connection = gbk;
SET character_set_database = gbk;
SET character_set_results = gbk;
SET character_set_server = gbk;

SET collation_connection = gbk_bin;
SET collation_database = gbk_bin;
SET collation_server = gbk_bin;

有一点要特别注意!

像GBK,UTF-8这样的名字,在mysql与JAVA中有不同的规定,写的时候要格外注意,否则会出错。

比如GBK,在JAVA中要写成GBK,但在mysql中要写成gbk(连接数据库的URL)

比如UTF-8,在JAVA中要写成UTF-8,但在Mysql中要写成utf8

其它的字集符也有类似的区别
参考技术A 可能是你MYSQL安装的时候没有选择字符集 你可以去设置下数据库的字符集看看 是否用的是UTF-8 或者 GB2312 参考技术B URL 改成
"jdbc:mysql://localhost:3306/bbs;charset=gb2312"

当然UTF8也行。。
参考技术C 是WEB应用么
你使用的是JSP 还是servlet 或者用struts。
在这些文件中转换一下UTF-8。
request.setCharacter("UTF-8")
response.setCharacter("utf-8");
参考技术D 把所有的编码格式都改成UTF-8

以上是关于java入数据库Mysql乱码问题:的主要内容,如果未能解决你的问题,请参考以下文章

MySQL如何永久解决由dos编码格式导致MySQ的显示乱码

PHP 读写数据库出现中文乱码问题

hibernate mysql写入中文乱码 解决

向phpmyadmin中导入sql文件出现乱码怎样解决啊

Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)

java 时间存入数据库 乱码