java向数据库中插入中文出现乱码

引用 http://www.cnblogs.com/jack204/archive/2012/09/11/2680106.html

主要解决方向,JAVA与MYSQL中编码要统一。通常采用UTF-8.

这里虽然你在项目中设置了数据库采用UTF-8,但是那里不包括连接方式之类的。

1.查询自身MYSQL编码方式

MySQL默认编码是latin1

mysql> show variables like ‘character%‘;
+--------------------------+--------------------------+
| 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       | D:\MySQL\share\charsets\ |
+--------------------------+--------------------------+

2.若项目用UTF8编码,则将MYSQL也改为UTF8编码。通过修改my.ini文件。添加如下几项,再重启MYSQL服务就好。

[mysql]
default-character-set = utf8

[mysql.server]
default-character-set = utf8

[mysqld_safe]
default-character-set = utf8

[client]
default-character-set = utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci 
时间: 2024-10-19 18:56:11

java向数据库中插入中文出现乱码的相关文章

Java连接mysql数据库并插入中文数据显示乱码

连接数据库设置编码 jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8

解决方案:在cmd中无法向数据库中插入中文?cmd显示中文是乱码?

[原因分析] 其实,只要保证cmd客户端和MySQL两者编码一致即可.但现实是cmd默认的是gbk,而mySQL一般是utf8.所以我们需要在cmd中告诉MySQL: --cmd这边发送给MySQL的是gbk的. --cdm这边接受的数据要求是gbk的. 这个类似于在PHP代码中,用set names gbk. [解决方案] 在cmd上输入: set character_set_client=gbk; set character_set_results=gbk;

java web中请求和响应中包含中文出现乱码解析

说明:在计算机中保存的一切文本信息是以一定的编码表(0,1,0,1)来保存我们所认识的字符(汉字或英文字符),由字符到计算机存储的二进制过程是编码,由读取二进制到文本的过程称为解码.而字符编码有多种不同的编码表,所以,如果编码格式和解码格式不是同一个码表就会出现乱码.想要避免出现乱码,需要使保存和读取时使用相同的码表. 在java web编程中经常会出现乱码,现在详细讲解一下如何进行设置,避免乱码 1 网页编码 在编写网页的时候,需要指定网页的编码格式,使用<meta http-equiv=&quo

java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间

java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值.毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数. 为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将时间.分钟.秒和毫

用java向mysql数据库中插入数据为空

利用java面向对像编程,向数据库中插入数据时.遇到插入的数据为空的情况.在此做一小结: 1.数据库连接正正常 2.sql语句没有问题 3.程序没有报异常 4.代码: import java.util.Scanner; import org.junit.Test;public class JDBCTest { //2).在测试方法testAAddStudent()中 //1.获取从控制台输入的Student对象:Student student=getStudentFromConsole(); /

MySQL数据库中的中文乱码解决方案。

数据库中输入中文容易出现乱码?(乱码问题本源:参见http://blog.51cto.com/12042068/2115021) 解决方法:1.在建表建库的时候就指定默认编码  utf8. CREATE TABLE table_name (column_name column_type) default charset=utf8;(注意";"之前的部分.明确规定字符集) 2.通过2个参数对比来说明不同客户端出现乱码的解决方法: 首先关注两个参数:character_set_client

MySQL 插入中文不乱码的5种方法

MySQL 插入中文不乱码的5种方法: 方法一: 登录MySQL,先做 set names latin1 ,然后在更新语句或者执行SQL语句 mysql> set names latin1; mysql> source  test.sql; 方法二: 在SQL文件中指定set names latin1;然后登录MySQL,执行相应文件    [[email protected] ~]# cat test.sql  set names latin1; insert ***************

mysql中插入中文数据

今天遇到的问题使mysql中插入中文数据后显示乱码,我在mysql中插入中文的时候,可以插入可是select的时候却无法显示,为此我写下这篇博客用于解决mysql插入中文. 由于有些截图没有记录下来,但是为了说明问题,我借用了别人的图,主要是为了完整的描述问题,在没有任何修改的时候,我们可以在mysql命令行中敲入以下指令,其结果如下所示: show variables like 'character%'; 可以看到,以上的编码并不支持中文,所以我们需要改变他们的编码(我这里是改成了utf8格式

Eclipse中java向数据库中添加数据

前面详细写过如何连接数据库的具体操作,下面介绍向数据库中添加数据. 注意事项:如果参考下面代码,需要 改包名,数据库名,数据库账号,密码,和数据表(数据表里面的信息) 1 package com.ningmeng; 2 3 import java.sql.*; 4 5 /** 6 * 1:向数据库中添加数据 7 * @author biexiansheng 8 * 9 */ 10 public class Test01 { 11 12 public static void main(String