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应用,就上面一段小程序啦
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的显示乱码