分享

写回答

发帖

[提问] sql查询语的关键词是中文时,无查询结果,怎么办呢

GoDaddy GoDaddy 3248 人阅读 | 12 人回复

发表于 2008-5-5 00:10:48 | 显示全部楼层 |阅读模式

gd win主机中当查询语的关键词是中文时,无法匹配数据库中纪录,而用数字或字母做关键字则可以,怎么办呢?
数据库是sqlserver2005,网页程序为asp

比如说查询语句如下
SELECT * FROM PSNinSex WHERE NineName = "中文"
这时从数据库中无法读取任何纪录,事实上在数据库中是有这条记录的。
有没有大侠帮我解决下这个问题,谢谢了

回答|共 12 个

add.c

发表于 2008-5-5 09:05:12 | 显示全部楼层

是你的数据库编码问题,
美国主机使用的是英文版本的数据库,你要把你的程序和数据库编码统一改成utf-8.
以前也有人出现类似的情况,建议搜索 数据库 乱码 关键字看能不能寻到答案

zol888

发表于 2008-5-5 12:19:04 | 显示全部楼层

谢谢楼上兄弟,感觉你在这方面是高手啊,我试试
RAKSmart

zol888

发表于 2008-5-5 13:05:48 | 显示全部楼层

不成功,兄弟能否给我详细解答下,谢谢啊,你在http://bbs.idcspy.com/viewthread.php?tid=21514&highlight=%E6%95%B0%E6%8D%AE%E5%BA%93里面说的传送编码如何做呢。我用gd的数据库管理面板能正常看到数据内容,而查询时无法查到,应该是查询关键字在传送过程中编码发生了变化,如何才让他保证与数据库中吻合呢

add.c

发表于 2008-5-5 13:51:25 | 显示全部楼层

SELECT * FROM PSNinSex WHERE NineName = N"中文"

你这样查询下看行不行,就是前面加N,进行强制转换

zol888

发表于 2008-5-5 17:46:03 | 显示全部楼层

add.c兄,谢谢,强制转成nvarchar,果然好方法,我试试

一路同行

发表于 2008-5-5 17:58:20 | 显示全部楼层

后面的查询条件的字符应该是单引号吧!
RAKSmart

add.c

发表于 2008-5-5 18:09:07 | 显示全部楼层

是的

一路同行

发表于 2008-5-5 18:16:56 | 显示全部楼层

刚才试过了,在Mysql里是可以的,但在MSsql里这样就不行了

zol888

发表于 2008-5-5 18:24:53 | 显示全部楼层

回楼上,可以的,mssql也是可以的,谢谢add.c兄
您需要登录后才可以回帖 登录 | 注册

本版积分规则