MySQL的数据库无法插入中文是怎么回事?

插入中文就报错:

Incorrect?string?value:?‘\xE7\x8F\xBD\xE7\x8F\xBA‘?for?column?‘name‘?at?row?1

用set names utf8或者 gb2312有时可以插入,但是是乱码,怎么回事?

【解决方法】

这是因为在创建数据库的时候编码选择的不对,用utf8编码重新创建数据库。

然后在执行查询的时候首先设置编码格式。


SET names ‘utf8‘;

INSERT INTO test1(name) VALUES(‘中文‘)

?

如果要看当前数据库支持的格式,运行如下命令:


show variables like ‘char%‘;

?

时间: 2024-10-25 19:23:32

MySQL的数据库无法插入中文是怎么回事?的相关文章

在MySQL向表中插入中文时,出现:incorrect string value 错误

在MySQL向表中插入中文时,出现:incorrect string value 错误,是由于字符集不支持中文.解决办法是将字符集改为GBK,或UTF-8.      一.修改数据库的默认字符集        ALTER DATABASE db_name DEFAULT CHARCTER SET character_name [COLLATE... ] 例子:ALTER TABLE db_mysql DEFAULT CHARCTER SET gbk          注释: (COLLATE是字

使用mysql时,无法插入中文。

使用的工具,MySql5.0和图形工具navacat. 1.首先刚安装就更改MySql系统文件里的my.ini里面的配置. [mysql] default-character-set=gbk #默认是latin1,把他改成了gbk. 2.然后创建表,但是在插入中文值时,显示"Data too long for column 'realname' at row 1".无论怎么更改varchar的长度都不行.之后在网上找答案,由于我用的是图形话的,网上大部分都是命令行,所以最终无果. 3.

MySQL创建数据库并插入数据命令

简介: 学习mysql环境为ubantu,下面记录一些基本的创建数据库和插入数据的口令 学习资源来自实验楼:https://www.shiyanlou.com/courses/9 打开MySQL 服务并使用 root 登录: # 打开 MySQL 服务 sudo service mysql start #使用 root 用户登录,密码为空 mysql -u root 以下为实例操作:创建一个名为library的数据库,包含 book.reader 两张表,根据自己的理解安排表的内容并插入数据 新

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

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

MySQL创建数据库并插入数据

启动MySql 启动服务:sudo service mysql start 登陆:mysql -u root 新建数据库 CREATE DATABASE <数据库名>; 在大多数SQL系统中,并不区分大小写,但是习惯上:保留字大写,变量和数据小写 连接数据库 use <数据库名> 显示:Database changed,表示连接成功 数据表 数据表是数据库的重要组成部分,是数据在数据库中具体存放的位置 新建数据表:CREATE TABLE <表名> (< 列名1&

MySQL 命令行不能插入中文的解决办法

今天遇到一个问题,通过navicat 的命令行,向MySQL中建库,建表,插入数据,数据中有中文,将脚本粘贴到命令行中后,回车,总是报错:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near,而且查看了配置文件所有的编码都已经设置为了 UTF8,却不能批量执行脚本,后来在网上找到一个办

mysql/mariadb数据库在插入表数据时,ID竟然成奇数增加了?看完下面内容就知道怎么处理了。

今天突然被问到一个问题,mysql数据库插入表数据时,设置了ID自增,但是插入数据后,ID却呈奇数增加,不是123456类型,而是13579形式,突然有点懵,研究了一会,发现是auto_increment步长的问题,下面就具体来说下怎么解决: 插入数据后发生表内ID按奇数增加,如下图: 查看自增步长:show variables like 'auto_increment%'; 将自增步长改为1:set @@auto_increment_increment=1; 此时用truncate清空表数据重

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%'; +--------------------------+--------

MySQL往数据库中存入中文字符时变问号

1.将数据库表的编码以及存入的字符的编码都设定为UTF-8 2.再用JAVA连接数据库的时候,也设置字符编码为UTF-8,即在链接语句最后加上一句话,如下: jdbc:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=utf-8 即可. 原文地址:https://www.cnblogs.com/qz12534/p/9291884.html