 2526492ca5
			
		
	
	
		2526492ca5
		
	
	
	
	
		
			
			git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@87248 2327b42d-5241-43d6-9e2a-de5ac946f064
		
			
				
	
	
		
			102 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * PHPExcel
 | |
|  *
 | |
|  * Copyright (c) 2006 - 2012 PHPExcel
 | |
|  *
 | |
|  * This library is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU Lesser General Public
 | |
|  * License as published by the Free Software Foundation; either
 | |
|  * version 2.1 of the License, or (at your option) any later version.
 | |
|  *
 | |
|  * This library is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
|  * Lesser General Public License for more details.
 | |
|  *
 | |
|  * You should have received a copy of the GNU Lesser General Public
 | |
|  * License along with this library; if not, write to the Free Software
 | |
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | |
|  *
 | |
|  * @category   PHPExcel
 | |
|  * @package    PHPExcel_Shared
 | |
|  * @copyright  Copyright (c) 2006 - 2012 PHPExcel (http://www.codeplex.com/PHPExcel)
 | |
|  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt	LGPL
 | |
|  * @version    ##VERSION##, ##DATE##
 | |
|  */
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * PHPExcel_Shared_CodePage
 | |
|  *
 | |
|  * @category   PHPExcel
 | |
|  * @package    PHPExcel_Shared
 | |
|  * @copyright  Copyright (c) 2006 - 2012 PHPExcel (http://www.codeplex.com/PHPExcel)
 | |
|  */
 | |
| class PHPExcel_Shared_CodePage
 | |
| {
 | |
| 	/**
 | |
| 	 * Convert Microsoft Code Page Identifier to Code Page Name which iconv
 | |
| 	 * and mbstring understands
 | |
| 	 *
 | |
| 	 * @param int $number Microsoft Code Page Indentifier
 | |
| 	 * @return string Code Page Name
 | |
| 	 * @throws Exception
 | |
| 	 */
 | |
| 	public static function NumberToName($codePage = '1252')
 | |
| 	{
 | |
| 		switch ($codePage) {
 | |
| 			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 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 10006:	return 'MACGREEK';			break;	//	Macintosh Greek
 | |
| 			case 10007:	return 'MACCYRILLIC';		break;	//	Macintosh Cyrillic
 | |
| 			case 10029:	return 'MACCENTRALEUROPE';	break;	//	Macintosh Central Europe
 | |
| 			case 10079: return 'MACICELAND';		break;	//	Macintosh Icelandic
 | |
| 			case 10081: return 'MACTURKISH';		break;	//	Macintosh Turkish
 | |
| 			case 32768:	return 'MAC';				break;	//	Apple Roman
 | |
| 			case 32769:	throw new Exception('Code page 32769 not supported.');
 | |
| 													break;	//	ANSI Latin I (BIFF2-BIFF3)
 | |
| 			case 65000:	return 'UTF-7';				break;	//	Unicode (UTF-7)
 | |
| 			case 65001:	return 'UTF-8';				break;	//	Unicode (UTF-8)
 | |
| 		}
 | |
| 
 | |
| 		throw new Exception('Unknown codepage: ' . $codePage);
 | |
| 	}
 | |
| 
 | |
| }
 |