英文linux系统,部署GBK网站系统,在插件里出现乱码的问题
我们再给客户安装我们系统的时候,用delphi开发的插件出现了乱码,经过分析:
1:服务器操作系统是英文linux
2:数据库是oracle,网也内容没有乱码,不过插件里面读取出来的字段中文名称出现乱码
经过半天的研究,发现传输过来的XML里面内容是utf8,经过解析是可以解析出来,不过最后一些有很多少字符
因为时间因素,所以我们最后决定在字符串里面最后都加上了_pde,经过这样处理,发送过来的数据解析成GBK,正常
解析代码:
functionTForm1.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;
ifpos('_',Text)>0then
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,转发请保留这个地址,谢谢