我正在測試德爾福2010年,我有以下錯誤:
我是否輸入了這個字符串「096 - ConstruçãoLtda」,並且我只是將她/它移動到另一個變量上並執行看他/它什麼離開「096 - Construção Ltda」,有沒有人知道如何找出那個?德爾福2010中的編碼錯誤
入口鹼
001阿爾西德斯若昂Pereira的
002 AlvirMaçaneiro
003自動Elétrica今村LTDA
004自動PECAS阿勞
005自動PECAS波爾圖Eixo LTDA
006自動PECAS União
007 Azambuja Industria Comercio de Materiais deConstruçãoLtda
008 Balaroti商報德,材料德ConstruçãoLTDA
009 Baldissera LOGISTICAËTRANSPORTES LTDA我
010 BattistellaVeículosPesados LTDA
011伯頓柴油汽車PECAS
012 Bisolo,材料去ConstruçãoLTDA
procedure TForm1.Button2Click(Sender: TObject);
var
tfEntrada : TextFile;
intI, intJ : Integer;
strA, strS : String;
procedure lerUm; //To read a registration of the file text
begin
inc(intI);
ReadLn(tfEntrada, strS);
strA := Copy(IntToStr(intI + 1000), 2, 3) + ' - ';
Edit1.Text := strS;
end;
begin
intI := 0;
AssignFile(tfEntrada, 'nomes_tst_0001.txt');
Reset(tfEntrada);
lerUm;
while not Eof (tfEntrada) do
begin
mmEntrada.Lines.Add(strA + strS); //I move for TMemo(mmEntrada, mmSaida), in the form
mmSaida.Lines.Add(strA + strS);
lerUm;
end;
CloseFile(tfEntrada);
end;
結果庫
001 - 阿爾西德斯JOA£Ø佩雷拉
002 - AlvirMaçaneiro
003 - 自動ELA©trica今村LTDA
004 - 自動PeçasAraújo
005 - 自動Peças波爾圖Eixo LTDA
006 - 自動PeçasUNIA£Ø
007 - 阿贊布雅INDUSTRIA商報德,材料去ConstruçãØLTDA
008 - Balaroti商報德,材料德ConstruçãØLTDA
009 - BaldisseraLogÃsticaËTRANSPORTES LTDA我
010 - BattistellaVeÃculosPesados LTDA
011 - 伯頓柴油汽車Peças 012 - Bisolo,材料德ConstruçãØLTDA
第二個字符串是第一個字符串的UTF-8編碼形式。你是否將字符串值分配給UTF8String變量?請顯示您遇到問題的實際代碼。 – 2009-11-03 07:41:07
你的字符串值是stil是UTF-8編碼。我懷疑這是因爲你使用了舊的syle Pascal文件I/O,它不支持Unicode。我強烈建議您使用更新的VCL風格的文件I/O,例如將文件加載到TStringList中,然後循環。下次請使用StackOverflow的代碼格式化功能。 – 2009-11-05 00:27:16