mysql 插入汉字 Incorrect string value 解决办法

项目开发的时候,由网页表单提交的过来的中文字符,会报Incorrect string value: ‘\xF0\x90\x8D\x83\xF0\x90...‘ 异常;

原因是mysql的编码造成,使用 show variables like ‘character%‘ 查看数据库的编码:

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       | /usr/local/mysql-5.1.63-osx10.6-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)

网上找了些解决方案:修改字段或者表的字符集为utf8

方案1,转换需要插入汉字的数据表编码为utf8

alter table sysadmin_article convert to character set utf8;
Query OK, 16 rows affected (0.35 sec)
Records: 16  Duplicates: 0  Warnings: 0

方案2,更改数据库的编码格式,再重新建表

alert database fruitdata character set utf8;
时间: 2024-12-11 15:19:13

mysql 插入汉字 Incorrect string value 解决办法的相关文章

MySQL中使用like查找汉字 Incorrect string value 解决办法

用Select…like %…%来查找MySQL的text类型字段的一个中文,却发现查出来的是乱的,发现不少人也遇到这样的问题.在中文排序和查找的时候,汉字的结果是错误的. 原因在于MySQL在查找字符串的时候大小写不敏感,字符集默认使用ISO-8859,在转换过程中会出现问题. 有两种方法可以解决: 第一种方法是使用BINARY关键字. BINARY 操作符将跟在它后面的字符串强制作为一个二进制字符串.这可以很容易地强制一个列的比较以字母大小写敏感方式进行,即使该列没有定义为 BINARY 或

mysql插入小数变成整数的解决办法

mysql输入小数自动变为整数,输了半天也不知道怎么回事. 数据库中字段的类型明显设置的是double,float等小数类型,但输入小数的时候,小数就会变成整数.很是奇怪. 使用的是navicat客户端. 仔细察看了一下,发现是在进行表配置的时候,没有配置小数点,见下图. 这里把小数按照需求进行配置就可以了,原来默认的是0,所以没有小数点. 配置后的表:

向 mysql 插入汉字时报错 Incorrect string value: '\xE6\x9B\xB9\xE5\x86\xAC...' for col....

Incorrect string value: '\xE6\x9B\xB9\xE5\x86\xAC...' for column 'realname' at row 1 该情况一般是由数据库设计时的编码错误导致的. show variables like 'character%'   查看数据库编码,为latin1. 如果项目正在测试当中,数据不重要的话,一劳永逸的解决办法是,使用 alert database tuanplus character set utf8 更改数据库的编码格式,再重新

无法启动MYSQL服务”1067 进程意外终止”解决办法——汇总及终极方法

自己一开始按照百度经验里的方法--<MySQL下载安装.配置与使用(win7x64)>去安装和配置,但是到后面步骤总是出现1067代号的错误.慢慢折腾去解决. 这里汇总各种导致mysql提示无法启动MYSQL服务"1067 进程意外终止"的一些解决办法.自己遇到这个问题是查了很多方法不行,最后看到一个论坛的讨论,试了一下竟然可以.一下是网上的部分方法,最后可以的那个方法我放在最后面: 启用MySql服务的时候出现"windows无法启动mysql服务(位于本地计算

DATABASE CONNECTION ERROR (1): THE MYSQL ADAPTER &#39;MYSQLI&#39; IS NOT AVAILABLE.解决办法

网站迁移之后遇到:Database connection error (1): The MySQL adapter 'mysqli' is not available.这个问题,我一开始以为是我配置的参数错了呢!然后回去检查,检查好几遍我的数据库账号和密码都没错,但是为什么就是连接不上数据库呢?? 网上有人说是"可能有你安装wamp或者xamp之后,sqlserver的服务没有启动,你可以到系统服务菜单里看看这个是否自动启动."但是我问过空间商,他们说默认都是开启的,然后他们也检查了数

在CentOS中安装32位或64位MySql报错error: Failed dependencies解决办法

在CentOS中安装MySql报错error: Failed dependencies解决办法 安装64位MySql报错内容如下:error: Failed dependencies:        libaio.so.1()(64bit) is needed by MySQL-server-5.6.19-1.el6.x86_64    libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.19-1.el6.x86_64    

无法启动MYSQL服务”1067 进程意外终止”解决办法

原文:http://www.111cn.net/database/mysql/48888.htm 本文章主要是总结了各种导致mysql提示无法启动MYSQL服务"1067 进程意外终止"的一些解决办法,有碰到mysql无法启动的同学可尝试参考. 启用MySql服务的时候出现"windows无法启动mysql服务(位于本地计算机上.错误1067:进程意外终止)",看看mysql服务并没有其它的依赖安系啊,于是突然想到进系统日志看看,果然发现很多MySql的很多错误,终

MyEclipse代码编辑器中汉字太小的解决办法(中文看不清)

问题描述:新安装的myeclipse 2014,代码编辑器中汉字很小看不清 解决办法:调整字体即可.通过菜单Windows——Preferences,输入font过滤选择Colors and Fonts选项,右边选择Basic——Text Font,点击Edit修改字体,将字体属性的脚本由“西欧语言”修改为“中欧字符”即可.

Amazon RDS MySQL数据库还原时 log_bin_trust_function_creators 错误解决办法

使用了Amazon AWS EC2免费云空间,数据库实例采用Amazon RDS.原来在Windows Server上有一个存在大量数据的MySQL数据库.现在需要在Amazon RDS上还原这个MySQL数据库,勾掉Views(因为它会要求SUPER权限,而Master User无此权限,毕竟是托管的RDS),只留下Tables,如下图(使用Navicat): 图1:勾掉Views,因为RDS上的Masteruser无Super权限,无法还原Views对象 但在还原时,仍然出现如下的错误信息: