in reply to Re: reading Unicode from Excel
in thread reading Unicode from Excel

Thanks! That was exactly it!
Where can I find stuff like that, it's not in the docs I've read, that's for sure :-{ .

Replies are listed 'Best First'.
Re^3: reading Unicode from Excel
by Anonymous Monk on Apr 29, 2008 at 06:52 UTC
    Hi i tried with this code but still ????? comes can you help; karthick@dgbmicro.com use OLE; use Win32::OLE 'CP_UTF8'; use utf8; Win32::OLE->Option(CP => CP_UTF8); $xlfile ="c:\\Akruti Tamil Unicode Test Vectors.xls"; ##### OLE - Excel Connection # Create OLE object - Excel Application Pointer $xl_app = CreateObject OLE 'Excel.Application' || die $!; # Set Application Visibility # 0 = Not Visible # 1 = Visible $xl_app->{'Visible'} = 0; # Open Excel File $workbook = $xl_app->Workbooks->Open($xlfile); # setup active worksheet $worksheet = $workbook->Worksheets(1); #///////////////////////////////////////////opened xls file for reading. # retrieve value from worksheet print $worksheet->Range("B2")->{'Value'};
      Hi,

      It's "easier" to parse unicode excel files with this decoding via perl 5.8.X or higher.

      open(FH, "<:raw:encoding(UTF16-LE):utf8", $File_UTF_MS);

      With this line you order excel to save files in UTF16-LE.
      $Excel->{DisplayAlerts} = 'False'; $xlWorkBook->SaveAs( $File_UTF_MS, $xlConst->{'xlUnicodeText'});

      With this line you write in UTF8.
      open(FH, ">utf8", $File_UTF8);

      This because our dear MS friends make use of UTF-16.
      Cf. http://blogs.msdn.com/brettsh/archive/2006/06/07/620986.aspx
      Therefore you need to convert from raw to utf16 to utf8.
      Kind regards.
      ddn123456