首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

奇怪了,Mysql不支持中文查找?解决方法

2012-02-09 
奇怪了,Mysql不支持中文查找?var a:stringbegina:testwith sqlquery1 dobegincloseSQL.Text : SET

奇怪了,Mysql不支持中文查找?
var a:string;
begin
a:='test';
with sqlquery1 do
begin
 close;
 SQL.Text := 'SET character_set_results = GB2312;';
 execsql;
 sql.Clear;
 sql.Add('select * from vw_myuser where username ='''+a+'''');
 close;
 open;
 end;
end;


这样一个查询。可以查出来数据。但是我把a:='test'换成a='管理员'立马报错。这是什么原因呢?mysql不能用中文查找吗?

[解决办法]
你把SET character_set_results = GB2312去掉
[解决办法]
进入mysql用以下查查
mysql> show databases;
mysql> show tables;
[解决办法]
不知道把GB2312改成utf-8是否可行!
[解决办法]
试试这个
=======================
dm.MySql.Close();
dm.MySql.SQL.Text := 'SET NAMES GB2312;';
dm.MySql.ExecSQL();
with dm.MySql do
begin
close;
SQL.Clear;
SQL.Add('select * from moviedata where ismv=""');
SQL.Add('and MvYear like "%'+combobox1.Text+'%" and MvArea like "%中国%"');
Prepared;
Open;

while not Eof do
begin
listbox3.Items.Add(FieldValues['MvNameCN']);
listbox4.Items.Add(FieldValues['ID']);
Next;
end;
end;

热点排行