读书人

mysql + odbc在insert 数据含有中文时

发布时间: 2012-03-13 11:21:12 作者: rapoo

mysql + odbc在insert 数据含有中文时,出错啊!
第一次在bcb用mysql,通过odbc连接。
通过SQLyog可以插入中文,在bcb语句中可以插入英文数据,但如果是中文就出错:

提示是:Key violation

[MySQL]{ODBC 3.51 Driver][mysqld-5.0.18-nt]Data too long for colmun 'colname ' ar row 1.

以前在perl里也连过mysql啊,好像对中文还挺支持啊。难道我的C语句有问题:

AnsiString str;

str = " INSERT INTO tablejg ";
str += " (serial, title) ";
str += " VALUE (\ " ";

str += " aa\ ",\ "哈哈\ ") ";
Query1-> Close();
Query1-> SQL-> Clear();
Query1-> SQL-> Add(str);
Query1-> ExecSQL();



[解决办法]
半月没来CSDN了...

你title是用 char 做吧,改用 varchar 试试吧.
我也有遇到你这种情况...原因不明 ~_~

另外你sql 的内容用 ' 就可以...不需要 \ " 这样
[解决办法]
MySQL 的字符集改为 UTF-8,程序本身无所谓,只要你代码没有问题,我一直都这样做

读书人网 >C++ Builder

热点推荐