java中向Mysql插入中文字符出现乱码

昨天新建了个Mysql数据库表,在JAVA中插入中文字符时,发现数据库中的插入结果是乱码。实际是字符集不符合问题。

针对这个问题的解决方法有很多,例如这个文章java与mysql乱码的问题不过我建议将表删掉重新建表,建表时默认字符集设置为UTF-8,这样可以避免以后出现各种问题。

可以通过语句show create table table_name来查看该表的编码格式。例如我的是:

CREATE TABLE `blog` (
  `title` varchar(30) NOT NULL DEFAULT ‘‘,
  `username` varchar(20) DEFAULT NULL,
  `content` varchar(3000) DEFAULT NULL,
  `createTime` date DEFAULT NULL,
  PRIMARY KEY (`title`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

这是修改后的语句,最初查看是,编码格式是latin1,建表工具使用的是Navicat,建表时默认的话就是latin1,可以在建表时选择“选项”标签,在字符集中选择UTF-8,如下图:

时间: 2024-10-09 07:08:37

java中向Mysql插入中文字符出现乱码的相关文章

解决mysql插入中文字符报错的问题ERROR 1366 (HY000): Incorrect string value: ‘\xE5\xB0\x8F\xE6\x98\x8E‘ for column ‘name‘ at row 1

原文:解决mysql插入中文字符报错的问题ERROR 1366 (HY000): Incorrect string value: '\xE5\xB0\x8F\xE6\x98\x8E' for column 'name' at row 1 报错内容: mysql> insert into person values (1,22,'小明');ERROR 1366 (HY000): Incorrect string value: '\xE5\xB0\x8F\xE6\x98\x8E' for colum

mysql 处理中文字符编码乱码

SELECT * FROM demo03; #设置表默认字符编码ALTER TABLE demo03 DEFAULT CHARACTER SET utf8;   INSERT INTO demo03(`id`,`username`)VALUES (6,'李四') #设置字段默认字符编码,保存中文ALTER TABLE `demo03` CHANGE  `name` `username`   VARCHAR(50) CHARACTER SET  utf8; #显示创建表的结构SHOW CREATE

mysql 插入中文报错: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value...

总结写在前面, 总结: 当Java通过jdbc链接mysql插入中文时,要保证程序可以正常执行,而且插入的中文不会乱码, mysql服务器端,对数据表(不是数据库)的编码设置,要保证是支持中文的,例如gbk, gb2312, utf-8 jdbc的连接配置,要开启useUnicode=true,并且要设置一个支持中文的编码,不需要跟mysql表的编码保持一致,只需要支持中文就行.例如characterEncoding=utf8 本身的Java文件的编码需要支持中文 ===============

Mysql DBA 高级运维学习笔记-Mysql插入中文乱码问题

1.1 mysql插入中文数据乱码 1.1.1MySQL中添加中文数据并查看检表语句 a.创建cuizhong测试数据库并查看建表语句 mysql> create database cuizhong; Query OK, 1 row affected (0.00 sec) mysql> show create database cuizhong\G *************************** 1. row *************************** Database:

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 ***************

LIGHTSWITCH 连接 MYSQL,中文字符不能保存----解决方法。

使用:dotConnect for MySQL () 作为 数据库连接的PROVIDER ,  在 LIGHTSWITCH 中 引用外部的MYSQL 数据源. http://www.devart.com/dotconnect/mysql/      也有  postgre LS 项目没有使用:中文 ,而是使用 EN  产生?  后来修改了.只是 没有进一步测试. LIGHTSWITCH 连接 MYSQL,中文字符输入时,出现不能保存. 1) 检查 MYSQL 数据库及表.字段定义 ,都是:UTF

在java中使用mysql

在java中使用mysql 概略 安装环境:windows 10, eclipse 安装mysql运行mysql并且新建数据库feedback将所需的jar添加到工程里在代码中连接数据库并且进行查询 安装mysql 下载地址:mysql-install-community下载 下载后 安装sqlserver就行了,其他的应该暂时还不需要用到,最后需要设置密码,要记住,在后面我们需要使用账号密码登陆数据库. 运行mysql,新建数据库 登陆数据库 进入mysql的安装目录下,进入bin目录,默认应

mysql 插入中文时出现ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern ame' at row 1

1 环境: MySQL Server 6.0  命令行工具 2 问题 :  插入中文字符数据出现如下错误: ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern ame' at row 1 3 当时环境: mysql> insert into user(id , username , birthday, sex, address) values('2' , ' 李四' , '1980 12

Linux 下MySQL显示中文字符

1.首先停止MySQL服务:sudo /etc/init.d/mysql stop 2.然后编辑MySQL配置文件:sudo gedit /etc/mysql/my.cnf 在my.cnf文件中的[client]段下面加入 default-character-set=utf8[mysqld_safe]default-character-set=utf8[mysqld]default-character-set=utf8[mysql]default-character-set=utf8 重新启动M