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 查看
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论