原来数据库字符集是默认的,显示一切正常,后来由于数据库服务器将默认的字符集配置成了utf-8导致显示的中文都成了?。
请问客户端这边该如何修改才能正常显示中文?是否能在连接字符串中加入指定字符集的参数?
具体环境如下:
delphi7.0
mysql-odbc-3.51.12
mysql5.0.18-win32
ado连接字符串'Provider=MSDASQL.1;Password=DBServerPassWord;Persist Security Info=True;User ID=DBServerUserName;Extended Properties="DATABASE=C_DBName;DRIVER={MySQL ODBC 3.51 Driver};OPTION=0;PWD=DBServerPassWord;PORT=0;SERVER='+DBPath+';UID=DBServerUserName";
请问客户端这边该如何修改才能正常显示中文?是否能在连接字符串中加入指定字符集的参数?
具体环境如下:
delphi7.0
mysql-odbc-3.51.12
mysql5.0.18-win32
ado连接字符串'Provider=MSDASQL.1;Password=DBServerPassWord;Persist Security Info=True;User ID=DBServerUserName;Extended Properties="DATABASE=C_DBName;DRIVER={MySQL ODBC 3.51 Driver};OPTION=0;PWD=DBServerPassWord;PORT=0;SERVER='+DBPath+';UID=DBServerUserName";
解决方案 »
- 动态库中给SPComm.OnReceiveData事件赋值错误
- 关于ADOConnection连接超时的设置
- 使用自己编写的运行期bpl,必须选中“Build with runtime packages”检查框吗?
- 大家帮忙推荐要加密狗带U盘,google好象搜到的全是加密狗。
- 很弱智的问题谁来帮忙解释下啊
- 怎样通过OpenDialog取得不包含路径的文件名?
- 在delphi中怎样调用dll??能不能给出一段成熟稳定的代码。急!特急!
- 如何撤销由程序动态生成的控件?
- 自已设计报表时,字段太多在一页无法放下,怎样放到增加一页?
- grid的横线
- 为何没有生成.dcu文件?
- 新手请教:如何在还有制表符的字符串中分割字符
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
begin
//存
with TMemoryStream.Create do try
S := #$EF#$BB#$BF;
Write(S[1], Length(S));
S := AnsiToUtf8(Memo1.Text);
Write(S[1], Length(S));
Position := 0;
SaveToFile('c:\temp\temp.txt');
finally
Free;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
S: string;
begin
//取
if not FileExists('c:\temp\temp.txt') then Exit;
with TMemoryStream.Create do try
LoadFromFile('c:\temp\temp.txt');
SetLength(S, Size);
Read(S[1], Length(S));
if Copy(S, 1, 3) <> #$EF#$BB#$BF then Exit;
Memo2.Text := Utf8ToAnsi(Copy(S, 4, MaxInt));
finally
Free;
end;
end;