我用的lazarus(相当于delphi),为什么combobox里面显示乱码? 30
ProcedureTform2.Formcreate(Sender:Tobject);varTF:TextFile;BeginifDirectoryExists('D:\...
Procedure Tform2.Formcreate(Sender: Tobject);
var
TF:TextFile;
Begin
if DirectoryExists('D:\Foxyu')=False then
CreateDir('D:\Foxyu');
if DirectoryExists('D:\Foxyu\Chinese')=False then
CreateDir('D:\Foxyu\Chinese');
if FileExists('D:\Foxyu\Chinese\ALL_A.txt')=False then
FileCreate('D:\Foxyu\Chinese\ALL_A.txt');
if FileExists('D:\Foxyu\Chinese\ALL_P.txt')=False then
FileCreate('D:\Foxyu\Chinese\ALL_P.txt');
Form2.Combobox1.Items.LoadFromFile('D:\Foxyu\Chinese\ALL_A.txt');
Form2.Combobox2.Items.LoadFromFile('D:\Foxyu\Chinese\ALL_P.txt');
End;
ALL_A.txt和ALL_P.txt里面的文字都是正常的。
前面的判断、创建语句也是正常的,为什么载入之后显示的是乱码? 展开
var
TF:TextFile;
Begin
if DirectoryExists('D:\Foxyu')=False then
CreateDir('D:\Foxyu');
if DirectoryExists('D:\Foxyu\Chinese')=False then
CreateDir('D:\Foxyu\Chinese');
if FileExists('D:\Foxyu\Chinese\ALL_A.txt')=False then
FileCreate('D:\Foxyu\Chinese\ALL_A.txt');
if FileExists('D:\Foxyu\Chinese\ALL_P.txt')=False then
FileCreate('D:\Foxyu\Chinese\ALL_P.txt');
Form2.Combobox1.Items.LoadFromFile('D:\Foxyu\Chinese\ALL_A.txt');
Form2.Combobox2.Items.LoadFromFile('D:\Foxyu\Chinese\ALL_P.txt');
End;
ALL_A.txt和ALL_P.txt里面的文字都是正常的。
前面的判断、创建语句也是正常的,为什么载入之后显示的是乱码? 展开
3个回答
展开全部
应该是编码问题,一般看到乱码先考虑编码,如典型的Ansi和Wide问题。
我额外提一句,lazarus我用过,除了所谓的“跨平台”外,性能远不如Delphi,有兴趣可以自己测试一下看看。
我额外提一句,lazarus我用过,除了所谓的“跨平台”外,性能远不如Delphi,有兴趣可以自己测试一下看看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为Lazarus系统使用UTF8编码,而WINDOWS使用ANSI码,所以就会产生这种问题。
你可以用UTF8ToAnsi和AnsiTOUTF8来进行转换。或者干脆把文本文件存为Unicode编码。
你可以用UTF8ToAnsi和AnsiTOUTF8来进行转换。或者干脆把文本文件存为Unicode编码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Procedure Tform2.Formcreate(Sender: Tobject);
var
TF:TextFile;
Begin
if DirectoryExists('D:\Foxyu')=False then
CreateDir('D:\Foxyu');
if DirectoryExists('D:\Foxyu\Chinese')=False then
CreateDir('D:\Foxyu\Chinese');
if FileExists('D:\Foxyu\Chinese\ALL_A.txt')=False then
FileCreate('D:\Foxyu\Chinese\ALL_A.txt');
if FileExists('D:\Foxyu\Chinese\ALL_P.txt')=False then
FileCreate('D:\Foxyu\Chinese\ALL_P.txt');
Form2.Combobox1.Items.LoadFromFile('D:\Foxyu\Chinese\ALL_A.txt');
Form2.Combobox1.Items.Text := UTF8Encode(Form2.Combobox1.Items.Text);///////主要是这里
Form2.Combobox2.Items.LoadFromFile('D:\Foxyu\Chinese\ALL_P.txt');
Form2.Combobox2.Items.Text := UTF8Encode(Form2.Combobox2.Items.Text); /////主要是这里
End;
var
TF:TextFile;
Begin
if DirectoryExists('D:\Foxyu')=False then
CreateDir('D:\Foxyu');
if DirectoryExists('D:\Foxyu\Chinese')=False then
CreateDir('D:\Foxyu\Chinese');
if FileExists('D:\Foxyu\Chinese\ALL_A.txt')=False then
FileCreate('D:\Foxyu\Chinese\ALL_A.txt');
if FileExists('D:\Foxyu\Chinese\ALL_P.txt')=False then
FileCreate('D:\Foxyu\Chinese\ALL_P.txt');
Form2.Combobox1.Items.LoadFromFile('D:\Foxyu\Chinese\ALL_A.txt');
Form2.Combobox1.Items.Text := UTF8Encode(Form2.Combobox1.Items.Text);///////主要是这里
Form2.Combobox2.Items.LoadFromFile('D:\Foxyu\Chinese\ALL_P.txt');
Form2.Combobox2.Items.Text := UTF8Encode(Form2.Combobox2.Items.Text); /////主要是这里
End;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询