2 qq 25006515 qq_25006515 于 2015.06.13 20:21 提问

C#操作mysql数据库 不支持中文查询

例如
select * from testdata where name='张2Q' 在navicat里面运行很正常 ,结果很正确
但是在C#里面执行,死活没有结果。如果换成select * from testdata where name='ss' 这两个的结果都对,这是为什么呀?找来找去发现就是因为C#查询的时候不支持中文,怎么解决呀?大神们帮帮忙。

5个回答

oyljerry
oyljerry   Ds   Rxr 2015.06.13 20:40

统一用utf8等编码试试。

u012216727
u012216727   Ds   Rxr 2015.06.13 20:34

C#查询支持中文的,你看看是不是你数据库字符集的问题

caozhy
caozhy   Ds   Rxr 2015.06.13 22:37
zhi_ai_yaya
zhi_ai_yaya   Rxr 2015.06.15 09:42

试试
select * from testdata where name=N'张2Q'

N就是标识一个字符串

zhi_ai_yaya
zhi_ai_yaya 只有一个原因:编码不对。所以mysql建库的时候,最好是使用utf8或者gbk。修改的话,可以停掉mysql服务,修改my.ini文件,修改default-character-set=gbk和default-character-set=gbk。 连接字符串:jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=gbk
2 年多之前 回复
guonan198811
guonan198811   2015.06.15 16:47

要么编码问题,要么字段没有对应好。

Csdn user default icon
上传中...
上传图片
插入图片