From 6ed30f559a12ce1254946e120345d6df6fad469c Mon Sep 17 00:00:00 2001 From: Mark Baker Date: Sun, 2 Jan 2011 12:14:18 +0000 Subject: [PATCH] git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@66316 2327b42d-5241-43d6-9e2a-de5ac946f064 --- Classes/PHPExcel/Shared/CodePage.php | 77 ++++++++++++++-------------- changelog.txt | 1 + 2 files changed, 40 insertions(+), 38 deletions(-) diff --git a/Classes/PHPExcel/Shared/CodePage.php b/Classes/PHPExcel/Shared/CodePage.php index b8ecf535..f777b501 100644 --- a/Classes/PHPExcel/Shared/CodePage.php +++ b/Classes/PHPExcel/Shared/CodePage.php @@ -46,46 +46,47 @@ class PHPExcel_Shared_CodePage public static function NumberToName($codePage = '1252') { switch ($codePage) { - case 367: return 'ASCII'; break; // ASCII - case 437: return 'CP437'; break; //OEM US + case 367: return 'ASCII'; break; // ASCII + case 437: return 'CP437'; break; // OEM US case 720: throw new Exception('Code page 720 not supported.'); - break; //OEM Arabic - case 737: return 'CP737'; break; //OEM Greek - case 775: return 'CP775'; break; //OEM Baltic - case 850: return 'CP850'; break; //OEM Latin I - case 852: return 'CP852'; break; //OEM Latin II (Central European) - case 855: return 'CP855'; break; //OEM Cyrillic - case 857: return 'CP857'; break; //OEM Turkish - case 858: return 'CP858'; break; //OEM Multilingual Latin I with Euro - case 860: return 'CP860'; break; //OEM Portugese - case 861: return 'CP861'; break; //OEM Icelandic - case 862: return 'CP862'; break; //OEM Hebrew - case 863: return 'CP863'; break; //OEM Canadian (French) - case 864: return 'CP864'; break; //OEM Arabic - case 865: return 'CP865'; break; //OEM Nordic - case 866: return 'CP866'; break; //OEM Cyrillic (Russian) - case 869: return 'CP869'; break; //OEM Greek (Modern) - case 874: return 'CP874'; break; //ANSI Thai - case 932: return 'CP932'; break; //ANSI Japanese Shift-JIS - case 936: return 'CP936'; break; //ANSI Chinese Simplified GBK - case 949: return 'CP949'; break; //ANSI Korean (Wansung) - case 950: return 'CP950'; break; //ANSI Chinese Traditional BIG5 - case 1200: return 'UTF-16LE'; break; //UTF-16 (BIFF8) - case 1250: return 'CP1250'; break; // ANSI Latin II (Central European) - case 1251: return 'CP1251'; break; //ANSI Cyrillic - case 1252: return 'CP1252'; break; //ANSI Latin I (BIFF4-BIFF7) - case 1253: return 'CP1253'; break; //ANSI Greek - case 1254: return 'CP1254'; break; //ANSI Turkish - case 1255: return 'CP1255'; break; //ANSI Hebrew - case 1256: return 'CP1256'; break; //ANSI Arabic - case 1257: return 'CP1257'; break; //ANSI Baltic - case 1258: return 'CP1258'; break; //ANSI Vietnamese - case 1361: return 'CP1361'; break; //ANSI Korean (Johab) - case 10000: return 'MAC'; break; //Apple Roman - case 32768: return 'MAC'; break; //Apple Roman + break; // OEM Arabic + case 737: return 'CP737'; break; // OEM Greek + case 775: return 'CP775'; break; // OEM Baltic + case 850: return 'CP850'; break; // OEM Latin I + case 852: return 'CP852'; break; // OEM Latin II (Central European) + case 855: return 'CP855'; break; // OEM Cyrillic + case 857: return 'CP857'; break; // OEM Turkish + case 858: return 'CP858'; break; // OEM Multilingual Latin I with Euro + case 860: return 'CP860'; break; // OEM Portugese + case 861: return 'CP861'; break; // OEM Icelandic + case 862: return 'CP862'; break; // OEM Hebrew + case 863: return 'CP863'; break; // OEM Canadian (French) + case 864: return 'CP864'; break; // OEM Arabic + case 865: return 'CP865'; break; // OEM Nordic + case 866: return 'CP866'; break; // OEM Cyrillic (Russian) + case 869: return 'CP869'; break; // OEM Greek (Modern) + case 874: return 'CP874'; break; // ANSI Thai + case 932: return 'CP932'; break; // ANSI Japanese Shift-JIS + case 936: return 'CP936'; break; // ANSI Chinese Simplified GBK + case 949: return 'CP949'; break; // ANSI Korean (Wansung) + case 950: return 'CP950'; break; // ANSI Chinese Traditional BIG5 + case 1200: return 'UTF-16LE'; break; // UTF-16 (BIFF8) + case 1250: return 'CP1250'; break; // ANSI Latin II (Central European) + case 1251: return 'CP1251'; break; // ANSI Cyrillic + case 0: // CodePage is not always correctly set when the xls file was saved by Apple's Numbers program + case 1252: return 'CP1252'; break; // ANSI Latin I (BIFF4-BIFF7) + case 1253: return 'CP1253'; break; // ANSI Greek + case 1254: return 'CP1254'; break; // ANSI Turkish + case 1255: return 'CP1255'; break; // ANSI Hebrew + case 1256: return 'CP1256'; break; // ANSI Arabic + case 1257: return 'CP1257'; break; // ANSI Baltic + case 1258: return 'CP1258'; break; // ANSI Vietnamese + case 1361: return 'CP1361'; break; // ANSI Korean (Johab) + case 10000: return 'MAC'; break; // Apple Roman + case 32768: return 'MAC'; break; // Apple Roman case 32769: throw new Exception('Code page 32769 not supported.'); - break; //ANSI Latin I (BIFF2-BIFF3) - case 65001: return 'UTF-8'; break; //Unicode (UTF-8) + break; // ANSI Latin I (BIFF2-BIFF3) + case 65001: return 'UTF-8'; break; // Unicode (UTF-8) } throw new Exception('Unknown codepage: ' . $codePage); diff --git a/changelog.txt b/changelog.txt index 8219a0cb..604c3447 100644 --- a/changelog.txt +++ b/changelog.txt @@ -31,6 +31,7 @@ Fixed in SVN: - Bugfix: (MBaker) Work item 14898 - PHP Warning: preg_match(): Compilation failed: PCRE does not support \\L, \\l, \\N, \\P, \\p, \\U, \\u, or \\X - Bugfix: (MBaker) Work item 14901 - VLOOKUP choking on parameters in PHPExcel.1.7.5/PHPExcel_Writer_Excel2007 - Bugfix: (MBaker) Work item 14973 - PHPExcel_Cell::isInRange() incorrect results - offset by one column +- Bugfix: (MBaker) Treat CodePage of 0 as CP1251 (for .xls files written by applications that don't set the CodePage correctly, such as Apple Numbers)