Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql出现Incorrect string value for column ‘表项‘ at row 1错误

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

作者:Tiantangbujimo7

这篇文章主要介绍了如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mysql出现Incorrect string value for column ‘表项‘ at row 1错误

今天使用 mysql 编写服务端时遇到中文字符串无法插入数据库表的成员中

报错

如下:

Incorrect string value: '\xB2\xE2\xCA\xD4\xB2\xE2...' for column 'Remark' at row 1

尝试了各种方案,用命令设置格式为 utf8 都不管用

最终解决

直到使用以下指令:

	MYSQL_RES* DBModuleMysql::QueryStore( const char * sql,bool noret,my_ulonglong* effect)
	{
		if( ! m_mysql ) return 0;
		if( effect ) *effect = 0;
		m_QueryCount ++;
		if( 0 != mysql_real_query( m_mysql,sql,(unsigned long)strlen(sql) ) )
		{
			printf( "On Query: %s, Error: \n", sql );
			printf( "%s\n", mysql_error(m_mysql) );
			return NULL;
		}
		if( effect )
		{
			*effect = mysql_affected_rows( m_mysql );
		}
		if( noret )
		{
			return NULL;
		}
		m_QueryResCount ++;
		return mysql_store_result(m_mysql);
	}

在代码中使用:
  m_pDBModule->QueryStore("set names gbk", true);

随后正常插入数据提示成功,使用 SQLyog 查看

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文