source: sourcecode/application/libraries/PHPExcel/Shared/CodePage.php @ 1

Last change on this file since 1 was 1, checked in by dungnv, 11 years ago
File size: 4.5 KB
Line 
1<?php
2/**
3 * PHPExcel
4 *
5 * Copyright (c) 2006 - 2014 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 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
24 * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
25 * @version    1.8.0, 2014-03-02
26 */
27
28
29/**
30 * PHPExcel_Shared_CodePage
31 *
32 * @category   PHPExcel
33 * @package    PHPExcel_Shared
34 * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
35 */
36class PHPExcel_Shared_CodePage
37{
38        /**
39         * Convert Microsoft Code Page Identifier to Code Page Name which iconv
40         * and mbstring understands
41         *
42         * @param integer $codePage Microsoft Code Page Indentifier
43         * @return string Code Page Name
44         * @throws PHPExcel_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 PHPExcel_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 10006:     return 'MACGREEK';                      break;  //      Macintosh Greek
87                        case 10007:     return 'MACCYRILLIC';           break;  //      Macintosh Cyrillic
88            case 10008: return 'CP936';             break;  //  Macintosh - Simplified Chinese (GB 2312)
89                        case 10029:     return 'MACCENTRALEUROPE';      break;  //      Macintosh Central Europe
90                        case 10079: return 'MACICELAND';                break;  //      Macintosh Icelandic
91                        case 10081: return 'MACTURKISH';                break;  //      Macintosh Turkish
92                        case 32768:     return 'MAC';                           break;  //      Apple Roman
93                        case 32769:     throw new PHPExcel_Exception('Code page 32769 not supported.');
94                                                                                                        break;  //      ANSI Latin I (BIFF2-BIFF3)
95                        case 65000:     return 'UTF-7';                         break;  //      Unicode (UTF-7)
96                        case 65001:     return 'UTF-8';                         break;  //      Unicode (UTF-8)
97                }
98
99                throw new PHPExcel_Exception('Unknown codepage: ' . $codePage);
100        }
101
102}
Note: See TracBrowser for help on using the repository browser.