delphi页面乱码问题如何解决?

作者&投稿:汝庆 (若有异议请与网页底部的电邮联系)
delphi乱码问题~

var
intf:TextFile;

这句这么改即可

首先升级Indy组件,再次就是要在http请求头部增加合适的编码指令,一般都是GB2312或者FTF-8.

你是指网页上还是Delphi上显示乱码,网页上的话也要设置相应页面为UTF8,
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

如果是DELPHI上要显示uft8的话,取出的内容用函数转换下
function unicode2gb( unicodestr:string):string;
var
SourceLength:integer;
DoneLength:integer;
AscNo:integer;
Byte1,Byte2,Byte3:integer;
GbStr:string;
begin
result:='';
if Trim(unicodestr)='' then exit;

SourceLength:=Length(UnicodeStr);
DoneLength:=1;
repeat
AscNo:=ord(UnicodeStr[DoneLength]);
case (AscNo and $E0) of
$E0:begin
Byte1:=(AscNo and $0f) shl 12;
Inc(DoneLength);
if DoneLength>SourceLength then break;
AscNo:=ord(UnicodeStr[DoneLength]);
Byte2:=(AscNo and $3f) shl 6;
Inc(DoneLength);
if DoneLength>SourceLength then break;
AscNo:=ord(UnicodeStr[DoneLength]);
Byte3:=AscNo and $3f;
end;
$C0:begin
Byte1:=(AscNo and $1f) shl 6;
Inc(DoneLength);
if DoneLength>SourceLength then break;
AscNo:=ord(UnicodeStr[DoneLength]);
Byte2:=(AscNo and $3f);
Byte3:=0;
end;
0..$bf:begin
Byte1:=AscNo;
Byte2:=0;
Byte3:=0;
end;
end; //case;
GbStr:=GBStr+widechar(Byte1+Byte2+Byte3);
Inc(DoneLength);
if DoneLength>SourceLength then break;
until DoneLength>SourceLength;
result:=GbStr;
end;

不麻烦呀,函数你复制我上面写的这个就行了。你输出时调用下就行了。比如你Delphi上定义两变量,s1,s2;取的内容先放到一个变量s1上,显示时输出S2,用我的函数调用下就行了,
var
s1,s2 : string;
begin
s2 := unicode2gb(s1);
end;


如何向电脑爱好者投稿?
在D elphi、Visual、Basic、Visual、FoxPro、Pascal等语言中,大小写所表示的意义是相同的,因此,在书写时采用单词首字母大写的约定,如: Write、If、Then、FileOpen、FileClose等。对控件、构件及普通单词等还应注意拼写正确,不要出现缺(或多)字母、排序混乱、大小写不规范的现象,能在屏幕图中找到的严格按图中英文...

期刊投稿边框如何设置?
在D elphi、Visual、Basic、Visual、FoxPro、Pascal等语言中,大小写所表示的意义是相同的,因此,在书写时采用单词首字母大写的约定,如: Write、If、Then、FileOpen、FileClose等。对控件、构件及普通单词等还应注意拼写正确,不要出现缺(或多)字母、排序混乱、大小写不规范的现象,能在屏幕图中找到的严格按图中英文...

怎样用电子邮件向杂志社投稿?
在D elphi、Visual、Basic、Visual、FoxPro、Pascal等语言中,大小写所表示的意义是相同的,因此,在书写时采用单词首字母大写的约定,如: Write、If、Then、FileOpen、FileClose等。 对控件、构件及普通单词等还应注意拼写正确,不要出现缺(或多)字母、排序混乱、大小写不规范的现象,能在屏幕图中找到的严格按图中英文...

尼勒克县13783736713: delphi页面乱码问题如何解决? -
悟毕乌体: 你是指网页上还是Delphi上显示乱码,网页上的话也要设置相应页面为UTF8, <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />如果是DELPHI上要显示uft8的话,取出的内容用函数转换下 function unicode2gb( ...

尼勒克县13783736713: Delphi 编写的软件,文字乱码 -
悟毕乌体: 这个是中西文字符,在中文系统里的硬伤啊 解决办法是在Delphi2007以后的系统里把程序再编译一下就行了. 因为2007以前的字符集是Ansi,2007以后的才是完全兼容中文系统的.好象在Delphi7里,把String改成WideString,可以解决这些问题.

尼勒克县13783736713: delphi xe2 显示中文乱码,该怎么解决 -
悟毕乌体: delphi xe2 显示中文乱码 gb2312了.AResponseInfo.CharSet:='gb2312'; ARequestInfo.CharSet:='gb2312'; 然后接受的信息 AnsiString(ARequestInfo.Params[i])

尼勒克县13783736713: delphi 换版本乱码 问题 -
悟毕乌体: 将所有的string类型改为AnsiString,将pchar 改为PAnsiChar试试.

尼勒克县13783736713: DELPHI2010显示中文乱码 -
悟毕乌体: delphi2007 之后已经启用了unicode 编码,俗称长编码;你以前在DELPHI 7 中写的程序,用它来打开是有可能出现中文乱码;你需要转换工程,ANSI 转UNICODE 码工都懂的,我就不多说了;而且DELPHI 2007 写的程序中输出的中文,在显示时也可能在一些操作系统(非简体中文)出现乱码,因此建议整个工程编码过程中就要注意采用统一的UTF8

尼勒克县13783736713: Delphi里面的fastreport乱码了怎么办 -
悟毕乌体: 换行乱码 主要改fr_class.pas中的wrapline过程,其中有一段: else if s[last] = thenOutLine(Copy(s, beg, last - beg))else OutLine(Copy(s, beg, last - beg 1)).//造成乱码的根本原因 改为 else if s[last] = then OutLine(Copy(s, beg, last - beg))else if ...

尼勒克县13783736713: delphi7 用 idhttp.get 抓取网页显示乱码 -
悟毕乌体: 首先升级Indy组件,再次就是要在http请求头部增加合适的编码指令,一般都是GB2312或者FTF-8.

尼勒克县13783736713: delphi打印的时候为什么中文就乱码呢? -
悟毕乌体: 1 看一下你电脑的语言区域设置有没有问题2 在窗体的Font属性中设置字体, Name='宋体', charset= chinese_gb23123 卸了这个控件, 换个别的版本吧

尼勒克县13783736713: Delphi 中文显示问题
悟毕乌体: 1、在系统中试一下,在系统(开发机器及客户机器)的区域和语言选项的高级选项卡里面把非Unicode程序语言(Non-UNICODE)的选项设置成中文 2、改你的软件,以下可以参考: http://www.edev.cn/mlanguage.htm 说实话我还没做过什么项目呢:) 如果看书的话,可以看看李维那几本书到网上搜一下就行,都有电子版下载 最好的办法是是加12978712群,群主Rarnu在编程方面是很强悍的,应该对你的工作有所帮助.

尼勒克县13783736713: delphi编写的dll,pb调用返回乱码,该怎么解决 -
悟毕乌体: 申明外部函数的时候 需要 加" ansi;"

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网