PHPExcel_Shared
[ class tree: PHPExcel_Shared ] [ index: PHPExcel_Shared ] [ all elements ]

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.  */
  27.  
  28.  
  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. {
  37.     /**
  38.      * Convert Microsoft Code Page Identifier to Code Page Name which iconv
  39.      * and mbstring understands
  40.      *
  41.      * @param int $number Microsoft Code Page Indentifier
  42.      * @return string Code Page Name
  43.      * @throws Exception
  44.      */
  45.     public static function NumberToName($codePage '1252')
  46.     {
  47.         switch ($codePage{
  48.             case 367:    return 'ASCII';        break;    //    ASCII
  49.             case 437:    return 'CP437';        break;    //    OEM US
  50.             case 720:    throw new Exception('Code page 720 not supported.');
  51.                                             break;    //    OEM Arabic
  52.             case 737:    return 'CP737';        break;    //    OEM Greek
  53.             case 775:    return 'CP775';        break;    //    OEM Baltic
  54.             case 850:    return 'CP850';        break;    //    OEM Latin I
  55.             case 852:    return 'CP852';        break;    //    OEM Latin II (Central European)
  56.             case 855:    return 'CP855';        break;    //    OEM Cyrillic
  57.             case 857:    return 'CP857';        break;    //    OEM Turkish
  58.             case 858:    return 'CP858';        break;    //    OEM Multilingual Latin I with Euro
  59.             case 860:    return 'CP860';        break;    //    OEM Portugese
  60.             case 861:    return 'CP861';        break;    //    OEM Icelandic
  61.             case 862:    return 'CP862';        break;    //    OEM Hebrew
  62.             case 863:    return 'CP863';        break;    //    OEM Canadian (French)
  63.             case 864:    return 'CP864';        break;    //    OEM Arabic
  64.             case 865:    return 'CP865';        break;    //    OEM Nordic
  65.             case 866:    return 'CP866';        break;    //    OEM Cyrillic (Russian)
  66.             case 869:    return 'CP869';        break;    //    OEM Greek (Modern)
  67.             case 874:    return 'CP874';        break;    //    ANSI Thai
  68.             case 932:    return 'CP932';        break;    //    ANSI Japanese Shift-JIS
  69.             case 936:    return 'CP936';        break;    //    ANSI Chinese Simplified GBK
  70.             case 949:    return 'CP949';        break;    //    ANSI Korean (Wansung)
  71.             case 950:    return 'CP950';        break;    //    ANSI Chinese Traditional BIG5
  72.             case 1200:    return 'UTF-16LE';    break;    //    UTF-16 (BIFF8)
  73.             case 1250:    return 'CP1250';    break;    //    ANSI Latin II (Central European)
  74.             case 1251:    return 'CP1251';    break;    //    ANSI Cyrillic
  75.             case 0:                                    //    CodePage is not always correctly set when the xls file was saved by Apple's Numbers program
  76.             case 1252:    return 'CP1252';    break;    //    ANSI Latin I (BIFF4-BIFF7)
  77.             case 1253:    return 'CP1253';    break;    //    ANSI Greek
  78.             case 1254:    return 'CP1254';    break;    //    ANSI Turkish
  79.             case 1255:    return 'CP1255';    break;    //    ANSI Hebrew
  80.             case 1256:    return 'CP1256';    break;    //    ANSI Arabic
  81.             case 1257:    return 'CP1257';    break;    //    ANSI Baltic
  82.             case 1258:    return 'CP1258';    break;    //    ANSI Vietnamese
  83.             case 1361:    return 'CP1361';    break;    //    ANSI Korean (Johab)
  84.             case 10000:    return 'MAC';        break;    //    Apple Roman
  85.             case 32768:    return 'MAC';        break;    //    Apple Roman
  86.             case 32769:    throw new Exception('Code page 32769 not supported.');
  87.                                             break;    //    ANSI Latin I (BIFF2-BIFF3)
  88.             case 65001:    return 'UTF-8';        break;    //    Unicode (UTF-8)
  89.         }
  90.  
  91.         throw new Exception('Unknown codepage: ' $codePage);
  92.     }
  93.  
  94. }

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