cmd控制台插入mysql数据库中文信息时,插入失败的解决办法

故障码:

mysql> insert into t1(name,sex,age,address) values('张三','男',11,'沙河');
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name'
 at row 1

该故障是由于中文编码不一致导致的数据插入失败所致。

一般mysql数据库在插入中文信息时出错的情况无外乎就是中文编码不一致所致。而目前支持中文的编码格式基本上有utf-8,gbk,gb2312三种,而数据库,jsp页面,控制台,Java代码等等的地方要尽可能的编码一致,否则可能会带来不必要的麻烦。

通过查找,我发现我的数据库编码格式是:utf-8,如下所示:

[mysql]

default-character-set=utf8

该信息在mysql的安装目录下的my.ini文件中,以我的为例,就是:C:\Program Files\MySQL\MySQL Server 5.5下的my.ini。

而我们的控制台的编码格式是:gbk,如下图所示:

控制台的打开方式是【开始】->【运行】,在【运行】窗口中输入cmd,点击回车键即可。

由于控制台和mysql的中文编码格式不一致,这导致中文数据无法插入成功,解决办法就是将其编码格式进行统一,由于控制台的编码格式不能进行设置,所以我们只有更改数据库的编码格式了,此时我们将数据库的编码格式也改成gbk。

即,将my.ini文件中的utf-8改成gbk,代码如下:

[mysql]

default-character-set=gbk

此时重启mysql服务器,然后再插入中文数据,运行结果如下所示:

mysql> insert into t1(name,sex,age,address) values('张三','男',11,'沙河');
Query OK, 1 row affected (0.05 sec)
时间: 2024-12-29 11:24:42

cmd控制台插入mysql数据库中文信息时,插入失败的解决办法的相关文章

MYSQL数据库导入数据时出现乱码的解决办法

首先在新建数据库时一定要注意生成原数据库相同的编码形式,如果已经生成可以用phpmyadmin等工具再整理一次,防止数据库编码和表的编码不统一造成乱码. 方法一: 通过增加参数 –default-character-set = utf8 解决乱码问题 mysql -u root -p password < path_to_import_file –default-character-set = utf8 方法二: 在命令行导入乱码解决 1. use database_name; 2. set n

关于hibernate插入mysql数据库中文数据乱码处理

这几天在学习hibernate,在程序中将利用hibernate将数据插入的mysql数据库的时候,发现出现了中文乱码,在网上搜索了好长时间,大概的解决方法都是修改my.ini的配置文件,修改为gbk,但是插入数据还是出现乱码的情况.不过最后还是解决了.下面就说一下解决的方法. 1.找到MySql Server Instance onfiguration Wizard管理器,重新配置mysql.如图.前面的配置可以一路下一步,到了图中这一步要修改语言为gbk. 2.要删除之前建立的数据库,重新利

ssm框架插入mysql数据库中文乱码问题解决

1.      检查web.xml <!-- 编码过滤器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported>

关于JAVA插入Mysql数据库中文乱码问题解决方案

方案一:在创建client的时候,指定使用的编码方式  具体如下: conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs?useUnicode=true&characterEncoding=GBK", "root", "");

MYSQL导入中文数据乱码的四种解决办法

方法一:通过增加参数 --default-character-set = utf8 解决乱码问题 方法一:通过增加参数 --default-character-set = utf8 解决乱码问题 mysql -u root -p password < path_to_import_file --default-character-set = utf8 方法二:在命令行导入乱码解决 use database_name; set names utf8; (或其他需要的编码) source examp

Windows使用MySQL数据库中文乱码问题

声明:本文关于MySQL中文乱码问题的解决方案均基于Windows 10操作系统,如果是Linux系统会有较多不适用之处,请谨慎参考. 一.MySQL中文乱码情况 1. sqlDevelpor MySQL客户端中文乱码 sqlDevelopor操作MySQL中文乱码 2. command-line MySQL客户端中文乱码 控制台操作MySQL中文乱码 二.MySQL中文乱码产生原因 Windwos中文系统默认的字符编码集是gbk(扩展国标码,包括简体中文.繁体中文.朝鲜语.日本语等东亚语言),

使用cmd命令登录mysql数据库时报2013-Lost connection to MYSQL server at &#39;waiting for initial communication packet&#39;,system error:0

[错误内容]:SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0 [错产生经过]:链接MySQL时出现. [解决办法]:打开my.ini,找到[mysqld]项,在其后加入一句:skip-name-resolve,保存,重启mysql服务即可~ 以上就是解决MySQL Error (2013): Lost connectio

PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析

现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题特意开发了一款小工具分析Apache 日志,拆分字段成CSV文件并插入Mysql数据库分析 <?php $date = '2014-05-22'; file_put_contents($date.'.csv', ''); file_put_contents($date.'.csv', '"IP

解决Linux系统下Mysql数据库中文显示成问号的问题

当我们将开发好的javaWEB项目部署到linux系统上,操作数据库的时候,会出现中文乱码问题,比如做插入操作,发现添加到数据库的数据中文出现论码,下面就将解决linux下mysql中文乱码问题! 打开Linux窗口,启动mysql. 连接mysql输入show variables like '%char%'; 出现如下图,这样的话在linux下操作mysql会出现中文乱码,所以我们要解决这个问题. 关闭mysql,找到 /etc/my.cnf 文件 3.1 如果没有找到my.cnf文件,就从