mysql的数据库,连接后,中文不能显示,该如何转换?

longchaohui 2005-10-17 02:13:53
如题
...全文
576 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jexhat 2005-10-18
  • 打赏
  • 举报
回复
据说把中文转换成ISO8859-1字符集后写入数据库,读出来后再从ISO8859-1转换成中文就行了。
Jexhat 2005-10-18
  • 打赏
  • 举报
回复
你用的mysql的版本是不是不太新啊,好像新的mysql已经能支持很多字符集了。
longchaohui 2005-10-18
  • 打赏
  • 举报
回复
我的mysql是5.0的,
我把mysql下的my.ini文件的字符改写为gbk了的,
用一个mysql的图形界面工具(SQLyogEnt.exe)打开,能显示中文的,
但是我的ado的dbgrid还是不能,
是不是要手动显示取出字符串字段后,再进行转换呢?
那么该如何转换呢?有函数吗?
getit911 2005-10-18
  • 打赏
  • 举报
回复
先执行一个SQL语句SET NAMES 'UTF8'。
longchaohui 2005-10-18
  • 打赏
  • 举报
回复
我把my.ini文件的字符还原为utf8了
longchaohui 2005-10-18
  • 打赏
  • 举报
回复
我从数据集取出来,但是不知道该怎么转换
不知道getit911(Windows转Linux中) 老兄的是什么意思,可以详细点吗?

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
str:WideString;
chstr:array [0..256]of byte;
d:integer;
begin
str:=ADODataSet1.FieldByName('Name').AsVariant;
s:=PWChar(str);
FillChar(chstr,Length(chstr),0);
strcopy(@chstr,PChar(s));
s:=str;
ShowMessage(s);
TextOutW(Form1.Canvas.Handle, 0, 0, PWChar(str), Length(str));
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧