日期:2014-05-16  浏览次数:20710 次

英文linux系统,部署GBK网站系统,在插件里出现乱码的问题
我们再给客户安装我们系统的时候,用delphi 开发的插件出现了乱码,经过分析:

1:服务器操作系统是 英文linux

2:数据库是oracle,网也内容没有乱码,不过插件里面读取出来的字段中文名称出现乱码

经过半天的研究,发现传输过来的XML里面内容是utf8,经过解析是可以解析出来,不过最后一些有很多少字符

因为时间因素,所以我们最后决定在字符串里面最后都加上了_pde,经过这样处理,发送过来的数据解析成GBK,正常

解析代码:

function TForm1.GetUTF8ToAnsi1(Str: String): String;
var
  Dest:Pchar;
  Unic:PWidechar;
  NewDest:PwideChar;
  Text:String;
begin
  try
    GetMem(NewDest,1024);
    Dest:=PChar(Str);
    Utf8toUnicode(NewDest,Dest,1024);
    //Text:=Str;
    Text:= WideCharToString(NewDest);
    Result:=Text;
    if pos('_',Text)>0 then
      Result:=Copy(Text,1,pos('_',Text)-1)
    else
      Result:=Text;
  finally
    FreeMem(NewDest);
  end;

end;

虽然程序没问题,不过没有彻底解决,不过也系统能给大家一个思路。
本文地址:http://www.xszlo.com/article/2012-11-12/7498.html,转发请保留这个地址,谢谢