表结构:
CREATE TABLE `test` (
`str` varchar(320) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;问:
insert into test (str) values("尐°");我在mysql中直接执行可以插入但是我用c 调用mysql_real_query 却插入失败
我怀疑是编码问题
可是找了半天也没有解决
CREATE TABLE `test` (
`str` varchar(320) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;问:
insert into test (str) values("尐°");我在mysql中直接执行可以插入但是我用c 调用mysql_real_query 却插入失败
我怀疑是编码问题
可是找了半天也没有解决
mysql_real_connect failed: Incorrect string value: '\xB2\xE2\xCA\xD4' for column
'str' at row 1Press any key to continue
我在php中用utf8的时候,在存储过程中不能用set names utf8,否则乱码。
如楼上所说,show variables like 'character%',把环境变量都设为utf8试一试。
另外我怀疑是接口问题,我在mysql.exe中用utf8的时候,中文从未显示正常过,即使是
set names utf8;
set chatacter set utf8;
之后仍然乱码,这说明mysql.exe这个程序对utf8的处理能力也有限,由此可以怀疑其api,如果有时间可以考虑看一下php中mysql扩展的源代码。