英文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,转发请保留这个地址,谢谢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值