php 操作 ms sql server 中文问题

在php访问ms sqlserver过程中,无非就是取数据与保存数据,再就是一个查询。

在做一个小东西的时候,查询一条记录,英文没有问题,不过在查询中文的时候,就是查不出来。查了一堆资料没有答案,ms sqlserver是以gb2312格式来保存的数据,则在取数据的时候是需要转换一下,如:iconv('gb2312','utf-8',fieldname),在查询的时候忽略了这个问题所以一直没有查询出结果来。

在查询的时候也需要反向的转一下就可以了,如:

$sql = select * from table where fieldname like '%中文%';

按以下方法转一下就可以了

$encodeCH = iconv('utf-8','gb2312','中文');

$sql = sprintf("select * from table where fieldname like '%s' ",$encodeCH);

执行后,结果正确,问题解决!