一、问题

开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误:

Incorrect string value: '\xE6\x88\x91' for column 'name' at row 1

二、分析

1. 我先去查了两个数据库表中此字段对应的类型都是 varchar,所以不存在类型不一致导致插入报错的问题。

2. 排除字段类型不一致导致的错误后,我猜测是中文乱码问题,然后插入纯英文数据发现没有报错,所以确定了是中文乱码问题。然后网上百度发现是mysql默认的编码问题导致的中文乱码。

三、解决方案

1. 检查本地mysql安装文件目录下的my.ini配置文件,服务器和客户端的默认编码方式是否是utf8

[mysqld]
# 服务端使用的字符集默认为UTF8
character-set-server=utf8 [client]
# 设置mysql客户端连接服务端时默认使用的端口
default-character-set=utf8

2. 上一步无误后,打开命令行,输入:net start mysql ,启动mysql服务;

  • 显示“服务已经成功启动”之后,输入命令“mysql”,使用数据库;

  • 查看数据库表的字符集编码格式:输入命令 “ show create table test.xtt_test_copy; ”;

  • 如上图所示,发现默认是"latin1"并不是“utf8”,需要继续手动修改,输入命令 “ ALTER TABLE test.xtt_test_copy CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;”,继续输入命令 “ show create table test.xtt_test_copy; ”查看默认数据库表的字符集编码改为了“utf8”;
  • 查看数据库的字符集编码格式:输入命令 “ show creat database test; ”;
  • 如上图所示,发现默认,是"latin1"并不是“utf8”,需要继续手动修改,输入命令 “ ALTER DATABASE test DEFAULT  CHARACTER SET utf8 COLLATE utf8_general_ci;”,继续输入命令 “SHOW CREATE database test; ” ,查看默认数据库表的字符集编码改为了“utf8”;

3. 最后,重启服务就可以了 ~

mysql> net stop mysql;
mysql> net start mysql;

mysql插入表数据中文乱码问题解决方案的更多相关文章

  1. mysql 导入表数据中文乱码

    方法一: 先在命令行设置为utf8,再导入 1. use database_name; 2. set names utf8; (或其他需要的编码) 3. source example.sql (sql ...

  2. [转]mysql导入导出数据中文乱码解决方法小结

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...

  3. asp.net插入sql server 中文乱码问题解决方案

    创建数据库的代码---创建promary表 create table promary ( proID int primary key, proName varchar(50) not null ) 出 ...

  4. mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)

    当向 MySQL 数据库插入一条带有中文的数据形如 insert into employee values(null,'张三','female','1995-10-08','2015-11-12',' ...

  5. mysql导入导出数据中文乱码解决方法小结

    linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqld ...

  6. mysql CAPI 接口 读取中文乱码的解决方案(转)

      最近的yymysqlsdk的开源项目里,对中文的支持不到位,因此用了1.5天的时间,对中文处理的各个情况进行了分析.     1.首先确认你的MySQL配置文件,my.ini (只针对window ...

  7. MAC下 mysql不能插入中文和中文乱码的问题总结

    MAC下 mysql不能插入中文和中文乱码的问题总结 前言 本文中所提到的问题解决方案,都是基于mac环境下的,但其他环境,比如windows应该也适用. 问题描述 本文解决下边两个问题: 往mysq ...

  8. MySql 中文乱码排查解决方案

    MySQL会出现中文乱码的原因不外乎下列几点: server本身设定问题,例如还停留在latin1 table的语系设定问题(包含character与collation) 客户端程式(例如php)的连 ...

  9. MySQL编程(0) - Mysql中文乱码问题解决方案

    MySQL 5.6 for Windows 解压缩版配置安装: http://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html MySQL ...

随机推荐

  1. rabbitmq基础学习+springboot结合rabbitmq实现回调确认confirm

    rabbitmq集群docker快速搭建 https://blog.csdn.net/u011058700/article/details/78708767 rabbitmq原理博客 https:// ...

  2. 从CSR产品名录看公司发展历程和业务方向

    产品型号                                                                           主要功能 BC3系列(例BC31A223, ...

  3. value,innerHTML,innerText之间的区别

    value:是DOM对象的属性.主要用于获取单标签的属性,(针对单标签): innerHEML:用于获取闭合双标签里面的内容,(可以识别标签): innerText:用于获取闭合单标签里面的内容,(不 ...

  4. [视频]K8飞刀 BadUSB Teensy自动种马演示教程

    [视频]K8飞刀 Teensy USB自动种马演示教程 链接: https://pan.baidu.com/s/13bM1XSLrhlf90FDmPGfo1g 提取码: gy2q 源码:https:/ ...

  5. http接口测试(python)

    对http接口的测试使用requests库即可实现 1.首先安装requests库 直接在命令行中输入以下命令即可安装: pip install requests 2.写一个简单的例子测试下(以百度为 ...

  6. hashmap可以用null为键值

    import java.util.HashMap; import java.util.Map; import java.util.TreeMap;   public class TestMain { ...

  7. python zip压缩文件 并移动到指定目录

    需要引入的3个包: import os import shutil import zipfile 1. # 创建zip文件对象your_zip_file_obj = zipfile.ZipFile(' ...

  8. Android 系统服务

    模拟器版本 Android 4.1.2 - API Level 16 CMD 下输入:adb shell service list   服务名 对象 0 phone com.android.inter ...

  9. interface21 - web - Log4jConfigListener(Log4j加载流程)

    前言 最近打算花点时间好好看看spring的源码,然而现在Spring的源码经过迭代的版本太多了,比较庞大,看起来比较累,所以准备从最初的版本(interface21)开始入手,仅用于学习,理解其设计 ...

  10. Log4j 随笔

    对于一个Java开发者而言,Log4j是我们的好朋友了.话说到这里,需要自我检讨一下,这么久以来,凡是用到Log4j的地方,相关的配置文件都是直接拷贝过去,从来都没仔细看过.But thanks Go ...