Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Read Japanese utf-8 CSV File
See more CSV Examples
Demonstrates how to read a utf-8 .csv file containing some Japanese characters.Chilkat Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.Csv;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
csv: TCsv;
row: Integer;
n: Integer;
begin
success := False;
// This example program loads a file (japanese.csv)
// that contains this content:
//
// year,color,country,food
// 2001,red,France,cheese
// 2005,blue,"United States",hamburger
// 2008,green,Italy,pasta
// 1998,orange,Japan,sushi
// 2010,silver,"太志","森田"
//
csv := TCsv.Create;
// Prior to loading the CSV file, indicate that the 1st row
// should be treated as column names:
csv.HasColumnNames := True;
// Load the CSV records from the file.
// Important: Make sure to call LoadFile2 so that the charset (utf-8)
// of the CSV file can be indicated.
success := csv.LoadFile2('qa_data/csv/japanese.csv','utf-8');
if (success <> True) then
begin
WriteLn(csv.LastErrorText);
Exit;
end;
// Display the contents of the 3rd column
n := csv.NumRows;
for row := 0 to n - 1 do
begin
WriteLn(csv.GetCell(row,2));
end;
csv.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.