File Source for CodePage.php

PHPExcel_Shared

# Source for file CodePage.php

Documentation is available at CodePage.php

1. <?php
2. /**
3. * PHPExcel
4. *
5. * Copyright (c) 2006 - 2011 PHPExcel
6. *
7. * This library is free software; you can redistribute it and/or
8. * modify it under the terms of the GNU Lesser General Public
9. * License as published by the Free Software Foundation; either
10. * version 2.1 of the License, or (at your option) any later version.
11. *
12. * This library is distributed in the hope that it will be useful,
13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15. * Lesser General Public License for more details.
16. *
17. * You should have received a copy of the GNU Lesser General Public
18. * License along with this library; if not, write to the Free Software
19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20. *
21. * @category PHPExcel
22. * @package PHPExcel_Shared
23. * @copyright Copyright (c) 2006 - 2011 PHPExcel (http://www.codeplex.com/PHPExcel)
24. * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
25. * @version 1.7.6, 2011-02-27
26. */
29. /**
30. * PHPExcel_Shared_CodePage
31. *
32. * @category PHPExcel
33. * @package PHPExcel_Shared
34. * @copyright Copyright (c) 2006 - 2011 PHPExcel (http://www.codeplex.com/PHPExcel)
35. */
36. class PHPExcel_Shared_CodePage
37. {
38. /**
39. * Convert Microsoft Code Page Identifier to Code Page Name which iconv
40. * and mbstring understands
41. *
42. * @param int $number Microsoft Code Page Indentifier
43. * @return string Code Page Name
44. * @throws Exception
45. */
46. public static function NumberToName($codePage = '1252')
47. {
48. switch ($codePage) {
49. case 367: return 'ASCII'; break; // ASCII
50. case 437: return 'CP437'; break; // OEM US
51. case 720: throw new Exception('Code page 720 not supported.');
52. break; // OEM Arabic
53. case 737: return 'CP737'; break; // OEM Greek
54. case 775: return 'CP775'; break; // OEM Baltic
55. case 850: return 'CP850'; break; // OEM Latin I
56. case 852: return 'CP852'; break; // OEM Latin II (Central European)
57. case 855: return 'CP855'; break; // OEM Cyrillic
58. case 857: return 'CP857'; break; // OEM Turkish
59. case 858: return 'CP858'; break; // OEM Multilingual Latin I with Euro
60. case 860: return 'CP860'; break; // OEM Portugese
61. case 861: return 'CP861'; break; // OEM Icelandic
62. case 862: return 'CP862'; break; // OEM Hebrew
63. case 863: return 'CP863'; break; // OEM Canadian (French)
64. case 864: return 'CP864'; break; // OEM Arabic
65. case 865: return 'CP865'; break; // OEM Nordic
66. case 866: return 'CP866'; break; // OEM Cyrillic (Russian)
67. case 869: return 'CP869'; break; // OEM Greek (Modern)
68. case 874: return 'CP874'; break; // ANSI Thai
69. case 932: return 'CP932'; break; // ANSI Japanese Shift-JIS
70. case 936: return 'CP936'; break; // ANSI Chinese Simplified GBK
71. case 949: return 'CP949'; break; // ANSI Korean (Wansung)
72. case 950: return 'CP950'; break; // ANSI Chinese Traditional BIG5
73. case 1200: return 'UTF-16LE'; break; // UTF-16 (BIFF8)
74. case 1250: return 'CP1250'; break; // ANSI Latin II (Central European)
75. case 1251: return 'CP1251'; break; // ANSI Cyrillic
76. case 0: // CodePage is not always correctly set when the xls file was saved by Apple's Numbers program
77. case 1252: return 'CP1252'; break; // ANSI Latin I (BIFF4-BIFF7)
78. case 1253: return 'CP1253'; break; // ANSI Greek
79. case 1254: return 'CP1254'; break; // ANSI Turkish
80. case 1255: return 'CP1255'; break; // ANSI Hebrew
81. case 1256: return 'CP1256'; break; // ANSI Arabic
82. case 1257: return 'CP1257'; break; // ANSI Baltic
83. case 1258: return 'CP1258'; break; // ANSI Vietnamese
84. case 1361: return 'CP1361'; break; // ANSI Korean (Johab)
85. case 10000: return 'MAC'; break; // Apple Roman
86. case 32768: return 'MAC'; break; // Apple Roman
87. case 32769: throw new Exception('Code page 32769 not supported.');
88. break; // ANSI Latin I (BIFF2-BIFF3)
89. case 65001: return 'UTF-8'; break; // Unicode (UTF-8)
90. }
92. throw new Exception('Unknown codepage: ' . $codePage);
93. }
95. }

Documentation generated on Sun, 27 Feb 2011 16:29:03 -0800 by phpDocumentor 1.4.3